home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / Files.a < prev    next >
Text File  |  1996-05-01  |  116KB  |  4,546 lines

  1. ;
  2. ;    File:        Files.a
  3. ;
  4. ;    Contains:    File Manager (HFS and MFS) Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__FILES__') = 'UNDEFINED' THEN
  19. __FILES__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  25.     include 'MixedMode.a'
  26.     ENDIF
  27.     IF &TYPE('__OSUTILS__') = 'UNDEFINED' THEN
  28.     include 'OSUtils.a'
  29.     ENDIF
  30.     IF ¨ OLDROUTINELOCATIONS THEN
  31.     IF &TYPE('__FINDER__') = 'UNDEFINED' THEN
  32.     include 'Finder.a'
  33.     ENDIF
  34.     ENDIF
  35.     IF FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED THEN
  36.  
  37. fsAtMark                        EQU        0
  38. fsCurPerm                        EQU        0
  39. fsRdPerm                        EQU        1
  40. fInvisible                        EQU        16384
  41. fsWrPerm                        EQU        2
  42. fsRdWrPerm                        EQU        3
  43. fsRdWrShPerm                    EQU        4
  44. fsFromStart                        EQU        1
  45. fsFromLEOF                        EQU        2
  46. fsFromMark                        EQU        3
  47. rdVerify                        EQU        64
  48. ioMapBuffer                        EQU        4
  49. ioModeReserved                    EQU        8
  50. ioDirFlg                        EQU        4                    ; see IM IV-125 
  51. ioDirMask                        EQU        $10
  52. fsRtParID                        EQU        1
  53. fsRtDirID                        EQU        2
  54.     IF OLDROUTINELOCATIONS THEN
  55. ;  Finder Constants 
  56.  
  57. fOnDesk                            EQU        1
  58. fHasBundle                        EQU        8192
  59. fTrash                            EQU        -3
  60. fDesktop                        EQU        -2
  61. fDisk                            EQU        0
  62.     ENDIF
  63.  
  64.                                                             ; CatSearch SearchBits Constants 
  65. fsSBPartialName                    EQU        1
  66. fsSBFullName                    EQU        2
  67. fsSBFlAttrib                    EQU        4
  68. fsSBFlFndrInfo                    EQU        8
  69. fsSBFlLgLen                        EQU        32
  70. fsSBFlPyLen                        EQU        64
  71. fsSBFlRLgLen                    EQU        128
  72. fsSBFlRPyLen                    EQU        256
  73. fsSBFlCrDat                        EQU        512
  74. fsSBFlMdDat                        EQU        1024
  75. fsSBFlBkDat                        EQU        2048
  76. fsSBFlXFndrInfo                    EQU        4096
  77. fsSBFlParID                        EQU        8192
  78. fsSBNegate                        EQU        16384
  79. fsSBDrUsrWds                    EQU        8
  80. fsSBDrNmFls                        EQU        16
  81. fsSBDrCrDat                        EQU        512
  82. fsSBDrMdDat                        EQU        1024
  83. fsSBDrBkDat                        EQU        2048
  84. fsSBDrFndrInfo                    EQU        4096                ; bit values for the above 
  85. fsSBPartialNameBit                EQU        0                    ;ioFileName points to a substring
  86. fsSBFullNameBit                    EQU        1                    ;ioFileName points to a match string
  87. fsSBFlAttribBit                    EQU        2                    ;search includes file attributes
  88. fsSBFlFndrInfoBit                EQU        3                    ;search includes finder info
  89. fsSBFlLgLenBit                    EQU        5                    ;search includes data logical length
  90. fsSBFlPyLenBit                    EQU        6                    ;search includes data physical length
  91. fsSBFlRLgLenBit                    EQU        7                    ;search includes resource logical length
  92. fsSBFlRPyLenBit                    EQU        8                    ;search includes resource physical length
  93. fsSBFlCrDatBit                    EQU        9                    ;search includes create date
  94. fsSBFlMdDatBit                    EQU        10                    ;search includes modification date
  95. fsSBFlBkDatBit                    EQU        11                    ;search includes backup date
  96. fsSBFlXFndrInfoBit                EQU        12                    ;search includes extended finder info
  97. fsSBFlParIDBit                    EQU        13                    ;search includes file's parent ID
  98. fsSBNegateBit                    EQU        14                    ;return all non-matches
  99. fsSBDrUsrWdsBit                    EQU        3                    ;search includes directory finder info
  100. fsSBDrNmFlsBit                    EQU        4                    ;search includes directory valence
  101. fsSBDrCrDatBit                    EQU        9                    ;directory-named version of fsSBFlCrDatBit
  102. fsSBDrMdDatBit                    EQU        10                    ;directory-named version of fsSBFlMdDatBit
  103. fsSBDrBkDatBit                    EQU        11                    ;directory-named version of fsSBFlBkDatBit
  104. fsSBDrFndrInfoBit                EQU        12                    ;directory-named version of fsSBFlXFndrInfoBit
  105.  
  106. fsSBDrParID                        EQU        8192
  107. fsSBDrParIDBit                    EQU        13                    ;directory-named version of fsSBFlParIDBit
  108.                                                             ; vMAttrib (GetVolParms) bit position constants 
  109. bLimitFCBs                        EQU        31
  110. bLocalWList                        EQU        30
  111. bNoMiniFndr                        EQU        29
  112. bNoVNEdit                        EQU        28
  113. bNoLclSync                        EQU        27
  114. bTrshOffLine                    EQU        26
  115. bNoSwitchTo                        EQU        25
  116. bNoDeskItems                    EQU        20
  117. bNoBootBlks                        EQU        19
  118. bAccessCntl                        EQU        18
  119. bNoSysDir                        EQU        17
  120. bHasExtFSVol                    EQU        16
  121. bHasOpenDeny                    EQU        15
  122. bHasCopyFile                    EQU        14
  123. bHasMoveRename                    EQU        13
  124. bHasDesktopMgr                    EQU        12
  125. bHasShortName                    EQU        11
  126. bHasFolderLock                    EQU        10
  127. bHasPersonalAccessPrivileges    EQU        9
  128.  
  129. bHasUserGroupList                EQU        8
  130. bHasCatSearch                    EQU        7
  131. bHasFileIDs                        EQU        6
  132. bHasBTreeMgr                    EQU        5
  133. bHasBlankAccessPrivileges        EQU        4                    ; Desktop Database icon Constants 
  134. kLargeIcon                        EQU        1
  135. kLarge4BitIcon                    EQU        2
  136. kLarge8BitIcon                    EQU        3
  137. kSmallIcon                        EQU        4
  138. kSmall4BitIcon                    EQU        5
  139. kSmall8BitIcon                    EQU        6
  140. kLargeIconSize                    EQU        256
  141. kLarge4BitIconSize                EQU        512
  142. kLarge8BitIconSize                EQU        1024
  143. kSmallIconSize                    EQU        64
  144. kSmall4BitIconSize                EQU        128
  145. kSmall8BitIconSize                EQU        256                    ; Foreign Privilege Model Identifiers 
  146. fsUnixPriv                        EQU        1                    ; Authentication Constants 
  147. kNoUserAuthentication            EQU        1
  148. kPassword                        EQU        2
  149. kEncryptPassword                EQU        3
  150. kTwoWayEncryptPassword            EQU        6
  151. ;  mapping codes (ioObjType) for MapName & MapID 
  152.  
  153. kOwnerID2Name                    EQU        1
  154. kGroupID2Name                    EQU        2
  155. kOwnerName2ID                    EQU        3
  156. kGroupName2ID                    EQU        4                    ; types of oj object to be returned (ioObjType) for _GetUGEntry 
  157. kReturnNextUser                    EQU        1
  158. kReturnNextGroup                EQU        2
  159. kReturnNextUG                    EQU        3
  160.     IF OLDROUTINELOCATIONS THEN
  161. ;
  162. ;    The following structures are being moved to Finder.i because
  163. ;    they are Finder centric.  See Finder constants above.
  164. ;
  165. FInfo                    RECORD 0
  166. fdType                     ds.l    1                ; offset: $0 (0)        ; the type of the file
  167. fdCreator                 ds.l    1                ; offset: $4 (4)        ; file's creator
  168. fdFlags                     ds.w    1                ; offset: $8 (8)        ; flags ex. hasbundle,invisible,locked, etc.
  169. fdLocation                 ds        Point            ; offset: $A (10)        ; file's location in folder
  170. fdFldr                     ds.w    1                ; offset: $E (14)        ; folder containing file
  171. sizeof                     EQU *                    ; size:   $10 (16)
  172.                         ENDR
  173. FXInfo                    RECORD 0
  174. fdIconID                 ds.w    1                ; offset: $0 (0)        ; Icon ID
  175. fdUnused                 ds.w    3                ; offset: $2 (2)        ; unused but reserved 6 bytes
  176. fdScript                 ds.b    1                ; offset: $8 (8)        ; Script flag and number
  177. fdXFlags                 ds.b    1                ; offset: $9 (9)        ; More flag bits
  178. fdComment                 ds.w    1                ; offset: $A (10)        ; Comment ID
  179. fdPutAway                 ds.l    1                ; offset: $C (12)        ; Home Dir ID
  180. sizeof                     EQU *                    ; size:   $10 (16)
  181.                         ENDR
  182. DInfo                    RECORD 0
  183. frRect                     ds        Rect            ; offset: $0 (0)        ; folder rect
  184. frFlags                     ds.w    1                ; offset: $8 (8)        ; Flags
  185. frLocation                 ds        Point            ; offset: $A (10)        ; folder location
  186. frView                     ds.w    1                ; offset: $E (14)        ; folder view
  187. sizeof                     EQU *                    ; size:   $10 (16)
  188.                         ENDR
  189. DXInfo                    RECORD 0
  190. frScroll                 ds        Point            ; offset: $0 (0)        ; scroll position
  191. frOpenChain                 ds.l    1                ; offset: $4 (4)        ; DirID chain of open folders
  192. frScript                 ds.b    1                ; offset: $8 (8)        ; Script flag and number
  193. frXFlags                 ds.b    1                ; offset: $9 (9)        ; More flag bits
  194. frComment                 ds.w    1                ; offset: $A (10)        ; comment
  195. frPutAway                 ds.l    1                ; offset: $C (12)        ; DirID
  196. sizeof                     EQU *                    ; size:   $10 (16)
  197.                         ENDR
  198.     ENDIF
  199. GetVolParmsInfoBuffer    RECORD 0
  200. vMVersion                 ds.w    1                ; offset: $0 (0)        ; version number
  201. vMAttrib                 ds.l    1                ; offset: $2 (2)        ; bit vector of attributes (see vMAttrib constants)
  202. vMLocalHand                 ds.l    1                ; offset: $6 (6)        ; handle to private data
  203. vMServerAdr                 ds.l    1                ; offset: $A (10)        ; AppleTalk server address or zero
  204. vMVolumeGrade             ds.l    1                ; offset: $E (14)        ; approx. speed rating or zero if unrated
  205. vMForeignPrivID             ds.w    1                ; offset: $12 (18)        ; foreign privilege model supported or zero if none
  206. sizeof                     EQU *                    ; size:   $14 (20)
  207.                         ENDR
  208. ; typedef ParamBlockRec *                ParmBlkPtr
  209.  
  210. IOParam                    RECORD 0
  211. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  212. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  213. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  214. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  215. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  216. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  217. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  218. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  219. ioRefNum                 ds.w    1                ; offset: $18 (24)        ; refNum for I/O operation
  220. ioVersNum                 ds.b    1                ; offset: $1A (26)        ; version number
  221. ioPermssn                 ds.b    1                ; offset: $1B (27)        ; Open: permissions (byte)
  222. ioMisc                     ds.l    1                ; offset: $1C (28)        ; Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)
  223. ioBuffer                 ds.l    1                ; offset: $20 (32)        ; data buffer Ptr
  224. ioReqCount                 ds.l    1                ; offset: $24 (36)        ; requested byte count; also = ioNewDirID
  225. ioActCount                 ds.l    1                ; offset: $28 (40)        ; actual byte count completed
  226. ioPosMode                 ds.w    1                ; offset: $2C (44)        ; initial file positioning
  227. ioPosOffset                 ds.l    1                ; offset: $2E (46)        ; file position offset
  228. sizeof                     EQU *                    ; size:   $32 (50)
  229.                         ENDR
  230. ; typedef struct IOParam *                IOParamPtr
  231.  
  232. FileParam                RECORD 0
  233. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  234. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  235. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  236. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  237. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  238. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  239. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  240. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  241. ioFRefNum                 ds.w    1                ; offset: $18 (24)        ; reference number
  242. ioFVersNum                 ds.b    1                ; offset: $1A (26)        ; version number
  243. filler1                     ds.b    1                ; offset: $1B (27)
  244. ioFDirIndex                 ds.w    1                ; offset: $1C (28)        ; GetFInfo directory index
  245. ioFlAttrib                 ds.b    1                ; offset: $1E (30)        ; GetFInfo: in-use bit=7, lock bit=0
  246. ioFlVersNum                 ds.b    1                ; offset: $1F (31)        ; file version number
  247. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)        ; user info
  248. ioFlNum                     ds.l    1                ; offset: $30 (48)        ; GetFInfo: file number; TF- ioDirID
  249. ioFlStBlk                 ds.w    1                ; offset: $34 (52)        ; start file block (0 if none)
  250. ioFlLgLen                 ds.l    1                ; offset: $36 (54)        ; logical length (EOF)
  251. ioFlPyLen                 ds.l    1                ; offset: $3A (58)        ; physical length
  252. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)        ; start block rsrc fork
  253. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)        ; file logical length rsrc fork
  254. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)        ; file physical length rsrc fork
  255. ioFlCrDat                 ds.l    1                ; offset: $48 (72)        ; file creation date& time (32 bits in secs)
  256. ioFlMdDat                 ds.l    1                ; offset: $4C (76)        ; last modified date and time
  257. sizeof                     EQU *                    ; size:   $50 (80)
  258.                         ENDR
  259. ; typedef struct FileParam *            FileParamPtr
  260.  
  261. VolumeParam                RECORD 0
  262. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  263. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  264. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  265. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  266. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  267. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  268. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  269. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  270. filler2                     ds.l    1                ; offset: $18 (24)
  271. ioVolIndex                 ds.w    1                ; offset: $1C (28)        ; volume index number
  272. ioVCrDate                 ds.l    1                ; offset: $1E (30)        ; creation date and time
  273. ioVLsBkUp                 ds.l    1                ; offset: $22 (34)        ; last backup date and time
  274. ioVAtrb                     ds.w    1                ; offset: $26 (38)        ; volume attrib
  275. ioVNmFls                 ds.w    1                ; offset: $28 (40)        ; number of files in directory
  276. ioVDirSt                 ds.w    1                ; offset: $2A (42)        ; start block of file directory
  277. ioVBlLn                     ds.w    1                ; offset: $2C (44)        ; GetVolInfo: length of dir in blocks
  278. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)        ; for compatibilty ioVNmAlBlks * ioVAlBlkSiz <= 2 GB
  279. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)        ; for compatibilty ioVAlBlkSiz is <= $0000FE00 (65,024)
  280. ioVClpSiz                 ds.l    1                ; offset: $34 (52)        ; GetVolInfo: bytes to allocate at a time
  281. ioAlBlSt                 ds.w    1                ; offset: $38 (56)        ; starting disk(512-byte) block in block map
  282. ioVNxtFNum                 ds.l    1                ; offset: $3A (58)        ; GetVolInfo: next free file number
  283. ioVFrBlk                 ds.w    1                ; offset: $3E (62)        ; GetVolInfo: # free alloc blks for this vol
  284. sizeof                     EQU *                    ; size:   $40 (64)
  285.                         ENDR
  286. ; typedef struct VolumeParam *            VolumeParamPtr
  287.  
  288. CntrlParam                RECORD 0
  289. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  290. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  291. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  292. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  293. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  294. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  295. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  296. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  297. ioCRefNum                 ds.w    1                ; offset: $18 (24)        ; refNum for I/O operation
  298. csCode                     ds.w    1                ; offset: $1A (26)        ; word for control status code
  299. csParam                     ds.w    11                ; offset: $1C (28)        ; operation-defined parameters
  300. sizeof                     EQU *                    ; size:   $32 (50)
  301.                         ENDR
  302. ; typedef struct CntrlParam *            CntrlParamPtr
  303.  
  304. SlotDevParam            RECORD 0
  305. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  306. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  307. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  308. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  309. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  310. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  311. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  312. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  313. ioSRefNum                 ds.w    1                ; offset: $18 (24)
  314. ioSVersNum                 ds.b    1                ; offset: $1A (26)
  315. ioSPermssn                 ds.b    1                ; offset: $1B (27)
  316. ioSMix                     ds.l    1                ; offset: $1C (28)
  317. ioSFlags                 ds.w    1                ; offset: $20 (32)
  318. ioSlot                     ds.b    1                ; offset: $22 (34)
  319. ioID                     ds.b    1                ; offset: $23 (35)
  320. sizeof                     EQU *                    ; size:   $24 (36)
  321.                         ENDR
  322. ; typedef struct SlotDevParam *            SlotDevParamPtr
  323.  
  324. MultiDevParam            RECORD 0
  325. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  326. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  327. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  328. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  329. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  330. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  331. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  332. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  333. ioMRefNum                 ds.w    1                ; offset: $18 (24)
  334. ioMVersNum                 ds.b    1                ; offset: $1A (26)
  335. ioMPermssn                 ds.b    1                ; offset: $1B (27)
  336. ioMMix                     ds.l    1                ; offset: $1C (28)
  337. ioMFlags                 ds.w    1                ; offset: $20 (32)
  338. ioSEBlkPtr                 ds.l    1                ; offset: $22 (34)
  339. sizeof                     EQU *                    ; size:   $26 (38)
  340.                         ENDR
  341. ; typedef struct MultiDevParam *        MultiDevParamPtr
  342.  
  343. ParamBlockRec            RECORD 0
  344. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  345. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  346. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  347. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  348. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  349. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  350. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  351. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  352. ioRefNum                 ds.w    1                ; offset: $18 (24)        ; refNum for I/O operation
  353. ioVersNum                 ds.b    1                ; offset: $1A (26)        ; version number
  354. ioPermssn                 ds.b    1                ; offset: $1B (27)        ; Open: permissions (byte)
  355. ioMisc                     ds.l    1                ; offset: $1C (28)        ; Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)
  356. ioBuffer                 ds.l    1                ; offset: $20 (32)        ; data buffer Ptr
  357. ioReqCount                 ds.l    1                ; offset: $24 (36)        ; requested byte count; also = ioNewDirID
  358. ioActCount                 ds.l    1                ; offset: $28 (40)        ; actual byte count completed
  359. ioPosMode                 ds.w    1                ; offset: $2C (44)        ; initial file positioning
  360. ioPosOffset                 ds.l    1                ; offset: $2E (46)        ; file position offset
  361.                          ORG 24
  362. ioFRefNum                 ds.w    1                ; offset: $18 (24)        ; reference number
  363. ioFVersNum                 ds.b    1                ; offset: $1A (26)        ; version number
  364. filler1                     ds.b    1                ; offset: $1B (27)
  365. ioFDirIndex                 ds.w    1                ; offset: $1C (28)        ; GetFInfo directory index
  366. ioFlAttrib                 ds.b    1                ; offset: $1E (30)        ; GetFInfo: in-use bit=7, lock bit=0
  367. ioFlVersNum                 ds.b    1                ; offset: $1F (31)        ; file version number
  368. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)        ; user info
  369. ioFlNum                     ds.l    1                ; offset: $30 (48)        ; GetFInfo: file number; TF- ioDirID
  370. ioFlStBlk                 ds.w    1                ; offset: $34 (52)        ; start file block (0 if none)
  371. ioFlLgLen                 ds.l    1                ; offset: $36 (54)        ; logical length (EOF)
  372. ioFlPyLen                 ds.l    1                ; offset: $3A (58)        ; physical length
  373. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)        ; start block rsrc fork
  374. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)        ; file logical length rsrc fork
  375. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)        ; file physical length rsrc fork
  376. ioFlCrDat                 ds.l    1                ; offset: $48 (72)        ; file creation date& time (32 bits in secs)
  377. ioFlMdDat                 ds.l    1                ; offset: $4C (76)        ; last modified date and time
  378.                          ORG 24
  379. filler2                     ds.l    1                ; offset: $18 (24)
  380. ioVolIndex                 ds.w    1                ; offset: $1C (28)        ; volume index number
  381. ioVCrDate                 ds.l    1                ; offset: $1E (30)        ; creation date and time
  382. ioVLsBkUp                 ds.l    1                ; offset: $22 (34)        ; last backup date and time
  383. ioVAtrb                     ds.w    1                ; offset: $26 (38)        ; volume attrib
  384. ioVNmFls                 ds.w    1                ; offset: $28 (40)        ; number of files in directory
  385. ioVDirSt                 ds.w    1                ; offset: $2A (42)        ; start block of file directory
  386. ioVBlLn                     ds.w    1                ; offset: $2C (44)        ; GetVolInfo: length of dir in blocks
  387. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)        ; for compatibilty ioVNmAlBlks * ioVAlBlkSiz <= 2 GB
  388. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)        ; for compatibilty ioVAlBlkSiz is <= $0000FE00 (65,024)
  389. ioVClpSiz                 ds.l    1                ; offset: $34 (52)        ; GetVolInfo: bytes to allocate at a time
  390. ioAlBlSt                 ds.w    1                ; offset: $38 (56)        ; starting disk(512-byte) block in block map
  391. ioVNxtFNum                 ds.l    1                ; offset: $3A (58)        ; GetVolInfo: next free file number
  392. ioVFrBlk                 ds.w    1                ; offset: $3E (62)        ; GetVolInfo: # free alloc blks for this vol
  393.                          ORG 24
  394. ioCRefNum                 ds.w    1                ; offset: $18 (24)        ; refNum for I/O operation
  395. csCode                     ds.w    1                ; offset: $1A (26)        ; word for control status code
  396. csParam                     ds.w    11                ; offset: $1C (28)        ; operation-defined parameters
  397.                          ORG 24
  398. ioSRefNum                 ds.w    1                ; offset: $18 (24)
  399. ioSVersNum                 ds.b    1                ; offset: $1A (26)
  400. ioSPermssn                 ds.b    1                ; offset: $1B (27)
  401. ioSMix                     ds.l    1                ; offset: $1C (28)
  402. ioSFlags                 ds.w    1                ; offset: $20 (32)
  403. ioSlot                     ds.b    1                ; offset: $22 (34)
  404. ioID                     ds.b    1                ; offset: $23 (35)
  405.                          ORG 24
  406. ioMRefNum                 ds.w    1                ; offset: $18 (24)
  407. ioMVersNum                 ds.b    1                ; offset: $1A (26)
  408. ioMPermssn                 ds.b    1                ; offset: $1B (27)
  409. ioMMix                     ds.l    1                ; offset: $1C (28)
  410. ioMFlags                 ds.w    1                ; offset: $20 (32)
  411. ioSEBlkPtr                 ds.l    1                ; offset: $22 (34)
  412.                          ORG 80
  413. sizeof                     EQU *                    ; size:   $50 (80)
  414.                         ENDR
  415. CInfoPBRec                RECORD 0
  416. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  417. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  418. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  419. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  420. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  421. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  422. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  423. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  424. ioFRefNum                 ds.w    1                ; offset: $18 (24)
  425. ioFVersNum                 ds.b    1                ; offset: $1A (26)
  426. filler1                     ds.b    1                ; offset: $1B (27)
  427. ioFDirIndex                 ds.w    1                ; offset: $1C (28)
  428. ioFlAttrib                 ds.b    1                ; offset: $1E (30)
  429. ioACUser                 ds.b    1                ; offset: $1F (31)
  430. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)
  431. ioDirID                     ds.l    1                ; offset: $30 (48)
  432. ioFlStBlk                 ds.w    1                ; offset: $34 (52)
  433. ioFlLgLen                 ds.l    1                ; offset: $36 (54)
  434. ioFlPyLen                 ds.l    1                ; offset: $3A (58)
  435. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)
  436. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)
  437. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)
  438. ioFlCrDat                 ds.l    1                ; offset: $48 (72)
  439. ioFlMdDat                 ds.l    1                ; offset: $4C (76)
  440. ioFlBkDat                 ds.l    1                ; offset: $50 (80)
  441. ioFlXFndrInfo             ds        FXInfo            ; offset: $54 (84)
  442. ioFlParID                 ds.l    1                ; offset: $64 (100)
  443. ioFlClpSiz                 ds.l    1                ; offset: $68 (104)
  444.                          ORG 32
  445. ioDrUsrWds                 ds        DInfo            ; offset: $20 (32)
  446. ioDrDirID                 ds.l    1                ; offset: $30 (48)
  447. ioDrNmFls                 ds.w    1                ; offset: $34 (52)
  448. filler3                     ds.w    9                ; offset: $36 (54)
  449. ioDrCrDat                 ds.l    1                ; offset: $48 (72)
  450. ioDrMdDat                 ds.l    1                ; offset: $4C (76)
  451. ioDrBkDat                 ds.l    1                ; offset: $50 (80)
  452. ioDrFndrInfo             ds        DXInfo            ; offset: $54 (84)
  453. ioDrParID                 ds.l    1                ; offset: $64 (100)
  454.                          ORG 108
  455. sizeof                     EQU *                    ; size:   $6C (108)
  456.                         ENDR
  457. ; typedef struct CInfoPBRec *            CInfoPBPtr
  458.  
  459. ;  Catalog position record 
  460. CatPositionRec            RECORD 0
  461. initialize                 ds.l    1                ; offset: $0 (0)
  462. priv                     ds.w    6                ; offset: $4 (4)
  463. sizeof                     EQU *                    ; size:   $10 (16)
  464.                         ENDR
  465.     ENDIF
  466.     IF FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE THEN
  467. FSSpec                    RECORD 0
  468. vRefNum                     ds.w    1                ; offset: $0 (0)
  469. parID                     ds.l    1                ; offset: $2 (2)
  470. name                     ds        Str63            ; offset: $6 (6)
  471. sizeof                     EQU *                    ; size:   $46 (70)
  472.                         ENDR
  473. ; typedef struct FSSpec *                FSSpecPtr
  474.  
  475. ; typedef FSSpecPtr *                    FSSpecHandle
  476.  
  477. ;  pointer to array of FSSpecs 
  478. ; typedef FSSpecPtr                     FSSpecArrayPtr
  479.  
  480. ;
  481. ; The only difference between "const FSSpec*" and "ConstFSSpecPtr" is 
  482. ;   that as a parameter, ConstFSSpecPtr is allowed to be NULL 
  483. ;
  484. ; typedef const struct FSSpec *            ConstFSSpecPtr
  485.  
  486.     ENDIF
  487.     IF FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED THEN
  488. ;
  489. ; The following are structures to be filled out with the _GetVolMountInfo call
  490. ; and passed back into the _VolumeMount call for external file system mounts. 
  491. ;
  492. ;  the "signature" of the file system 
  493. ; typedef OSType                         VolumeType
  494.  
  495.  
  496.                                                             ; the signature for AppleShare 
  497. AppleShareMediaType                EQU        'afpm'
  498.     IF ¨ OLDROUTINELOCATIONS THEN
  499. VolMountInfoHeader        RECORD 0
  500. length                     ds.w    1                ; offset: $0 (0)        ;  length of location data (including self) 
  501. media                     ds.l    1                ; offset: $2 (2)        ;  type of media.  Variable length data follows 
  502. sizeof                     EQU *                    ; size:   $6 (6)
  503.                         ENDR
  504. ; typedef struct VolMountInfoHeader *    VolMountInfoPtr
  505.  
  506. ;
  507. ; The new volume mount info record.  The old one is included for compatibility. 
  508. ;    the new record allows access by foriegn filesystems writers to the flags 
  509. ;    portion of the record. This portion is now public.  
  510. ;
  511. VolumeMountInfoHeader    RECORD 0
  512. length                     ds.w    1                ; offset: $0 (0)        ;  length of location data (including self) 
  513. media                     ds.l    1                ; offset: $2 (2)        ;  type of media (must be registered with Apple) 
  514. flags                     ds.w    1                ; offset: $6 (6)        ;  volume mount flags. Variable length data follows 
  515. sizeof                     EQU *                    ; size:   $8 (8)
  516.                         ENDR
  517. ; typedef struct VolumeMountInfoHeader * VolumeMountInfoHeaderPtr
  518.  
  519. ;     additional volume mount flags 
  520.  
  521. volMountInteractBit                EQU        15                    ; Input to VolumeMount: If set, it's OK for the file system 
  522. volMountInteractMask            EQU        $8000                ; to perform user interaction to mount the volume 
  523. volMountChangedBit                EQU        14                    ; Output from VoumeMount: If set, the volume was mounted, but 
  524. volMountChangedMask                EQU        $4000                ; the volume mounting information record needs to be updated. 
  525. volMountFSReservedMask            EQU        $00FF                ; bits 0-7 are defined by each file system for its own use 
  526. volMountSysReservedMask            EQU        $FF00                ; bits 8-15 are reserved for Apple system use 
  527.     ENDIF
  528. AFPVolMountInfo            RECORD 0
  529. length                     ds.w    1                ; offset: $0 (0)        ;  length of location data (including self) 
  530. media                     ds.l    1                ; offset: $2 (2)        ;  type of media 
  531. flags                     ds.w    1                ; offset: $6 (6)        ;  bits for no messages, no reconnect 
  532. nbpInterval                 ds.b    1                ; offset: $8 (8)        ;  NBP Interval parameter (IM2, p.322) 
  533. nbpCount                 ds.b    1                ; offset: $9 (9)        ;  NBP Interval parameter (IM2, p.322) 
  534. uamType                     ds.w    1                ; offset: $A (10)        ;  User Authentication Method 
  535. zoneNameOffset             ds.w    1                ; offset: $C (12)        ;  short positive offset from start of struct to Zone Name 
  536. serverNameOffset         ds.w    1                ; offset: $E (14)        ;  offset to pascal Server Name string 
  537. volNameOffset             ds.w    1                ; offset: $10 (16)        ;  offset to pascal Volume Name string 
  538. userNameOffset             ds.w    1                ; offset: $12 (18)        ;  offset to pascal User Name string 
  539. userPasswordOffset         ds.w    1                ; offset: $14 (20)        ;  offset to pascal User Password string 
  540. volPasswordOffset         ds.w    1                ; offset: $16 (22)        ;  offset to pascal Volume Password string 
  541. AFPData                     ds.b    144                ; offset: $18 (24)        ;  variable length data may follow 
  542. sizeof                     EQU *                    ; size:   $A8 (168)
  543.                         ENDR
  544. ; typedef struct AFPVolMountInfo *        AFPVolMountInfoPtr
  545.  
  546. DTPBRec                    RECORD 0
  547. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  548. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  549. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  550. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  551. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  552. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  553. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  554. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  555. ioDTRefNum                 ds.w    1                ; offset: $18 (24)        ;  desktop refnum 
  556. ioIndex                     ds.w    1                ; offset: $1A (26)
  557. ioTagInfo                 ds.l    1                ; offset: $1C (28)
  558. ioDTBuffer                 ds.l    1                ; offset: $20 (32)
  559. ioDTReqCount             ds.l    1                ; offset: $24 (36)
  560. ioDTActCount             ds.l    1                ; offset: $28 (40)
  561. ioFiller1                 ds.b    1                ; offset: $2C (44)
  562. ioIconType                 ds.b    1                ; offset: $2D (45)
  563. ioFiller2                 ds.w    1                ; offset: $2E (46)
  564. ioDirID                     ds.l    1                ; offset: $30 (48)
  565. ioFileCreator             ds.l    1                ; offset: $34 (52)
  566. ioFileType                 ds.l    1                ; offset: $38 (56)
  567. ioFiller3                 ds.l    1                ; offset: $3C (60)
  568. ioDTLgLen                 ds.l    1                ; offset: $40 (64)
  569. ioDTPyLen                 ds.l    1                ; offset: $44 (68)
  570. ioFiller4                 ds.w    14                ; offset: $48 (72)
  571. ioAPPLParID                 ds.l    1                ; offset: $64 (100)
  572. sizeof                     EQU *                    ; size:   $68 (104)
  573.                         ENDR
  574. ; typedef struct DTPBRec *                DTPBPtr
  575.  
  576. HIOParam                RECORD 0
  577. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  578. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  579. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  580. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  581. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  582. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  583. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  584. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  585. ioRefNum                 ds.w    1                ; offset: $18 (24)
  586. ioVersNum                 ds.b    1                ; offset: $1A (26)
  587. ioPermssn                 ds.b    1                ; offset: $1B (27)
  588. ioMisc                     ds.l    1                ; offset: $1C (28)
  589. ioBuffer                 ds.l    1                ; offset: $20 (32)
  590. ioReqCount                 ds.l    1                ; offset: $24 (36)
  591. ioActCount                 ds.l    1                ; offset: $28 (40)
  592. ioPosMode                 ds.w    1                ; offset: $2C (44)
  593. ioPosOffset                 ds.l    1                ; offset: $2E (46)
  594. sizeof                     EQU *                    ; size:   $32 (50)
  595.                         ENDR
  596. ; typedef struct HIOParam *                HIOParamPtr
  597.  
  598. HFileParam                RECORD 0
  599. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  600. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  601. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  602. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  603. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  604. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  605. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  606. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  607. ioFRefNum                 ds.w    1                ; offset: $18 (24)
  608. ioFVersNum                 ds.b    1                ; offset: $1A (26)
  609. filler1                     ds.b    1                ; offset: $1B (27)
  610. ioFDirIndex                 ds.w    1                ; offset: $1C (28)
  611. ioFlAttrib                 ds.b    1                ; offset: $1E (30)
  612. ioFlVersNum                 ds.b    1                ; offset: $1F (31)
  613. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)
  614. ioDirID                     ds.l    1                ; offset: $30 (48)
  615. ioFlStBlk                 ds.w    1                ; offset: $34 (52)
  616. ioFlLgLen                 ds.l    1                ; offset: $36 (54)
  617. ioFlPyLen                 ds.l    1                ; offset: $3A (58)
  618. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)
  619. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)
  620. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)
  621. ioFlCrDat                 ds.l    1                ; offset: $48 (72)
  622. ioFlMdDat                 ds.l    1                ; offset: $4C (76)
  623. sizeof                     EQU *                    ; size:   $50 (80)
  624.                         ENDR
  625. ; typedef struct HFileParam *            HFileParamPtr
  626.  
  627. HVolumeParam            RECORD 0
  628. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  629. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  630. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  631. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  632. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  633. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  634. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  635. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  636. filler2                     ds.l    1                ; offset: $18 (24)
  637. ioVolIndex                 ds.w    1                ; offset: $1C (28)
  638. ioVCrDate                 ds.l    1                ; offset: $1E (30)
  639. ioVLsMod                 ds.l    1                ; offset: $22 (34)
  640. ioVAtrb                     ds.w    1                ; offset: $26 (38)
  641. ioVNmFls                 ds.w    1                ; offset: $28 (40)
  642. ioVBitMap                 ds.w    1                ; offset: $2A (42)
  643. ioAllocPtr                 ds.w    1                ; offset: $2C (44)
  644. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)
  645. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)
  646. ioVClpSiz                 ds.l    1                ; offset: $34 (52)
  647. ioAlBlSt                 ds.w    1                ; offset: $38 (56)
  648. ioVNxtCNID                 ds.l    1                ; offset: $3A (58)
  649. ioVFrBlk                 ds.w    1                ; offset: $3E (62)
  650. ioVSigWord                 ds.w    1                ; offset: $40 (64)
  651. ioVDrvInfo                 ds.w    1                ; offset: $42 (66)
  652. ioVDRefNum                 ds.w    1                ; offset: $44 (68)
  653. ioVFSID                     ds.w    1                ; offset: $46 (70)
  654. ioVBkUp                     ds.l    1                ; offset: $48 (72)
  655. ioVSeqNum                 ds.w    1                ; offset: $4C (76)
  656. ioVWrCnt                 ds.l    1                ; offset: $4E (78)
  657. ioVFilCnt                 ds.l    1                ; offset: $52 (82)
  658. ioVDirCnt                 ds.l    1                ; offset: $56 (86)
  659. ioVFndrInfo                 ds.l    8                ; offset: $5A (90)
  660. sizeof                     EQU *                    ; size:   $7A (122)
  661.                         ENDR
  662. ; typedef struct HVolumeParam *            HVolumeParamPtr
  663.  
  664.  
  665.                                                             ; Large Volume Constants 
  666. kWidePosOffsetBit                EQU        8
  667. kMaximumBlocksIn4GB                EQU        $007FFFFF
  668. XIOParam                RECORD 0
  669. qLink                     ds.l    1                ; offset: $0 (0)
  670. qType                     ds.w    1                ; offset: $4 (4)
  671. ioTrap                     ds.w    1                ; offset: $6 (6)
  672. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  673. ioCompletion             ds.l    1                ; offset: $C (12)
  674. ioResult                 ds.w    1                ; offset: $10 (16)
  675. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  676. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  677. ioRefNum                 ds.w    1                ; offset: $18 (24)
  678. ioVersNum                 ds.b    1                ; offset: $1A (26)
  679. ioPermssn                 ds.b    1                ; offset: $1B (27)
  680. ioMisc                     ds.l    1                ; offset: $1C (28)
  681. ioBuffer                 ds.l    1                ; offset: $20 (32)
  682. ioReqCount                 ds.l    1                ; offset: $24 (36)
  683. ioActCount                 ds.l    1                ; offset: $28 (40)
  684. ioPosMode                 ds.w    1                ; offset: $2C (44)        ;  must have kUseWidePositioning bit set 
  685. ioWPosOffset             ds        wide            ; offset: $2E (46)        ;  wide positioning offset 
  686. sizeof                     EQU *                    ; size:   $36 (54)
  687.                         ENDR
  688. ; typedef struct XIOParam *                XIOParamPtr
  689.  
  690. XVolumeParam            RECORD 0
  691. qLink                     ds.l    1                ; offset: $0 (0)
  692. qType                     ds.w    1                ; offset: $4 (4)
  693. ioTrap                     ds.w    1                ; offset: $6 (6)
  694. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  695. ioCompletion             ds.l    1                ; offset: $C (12)
  696. ioResult                 ds.w    1                ; offset: $10 (16)
  697. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  698. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  699. ioXVersion                 ds.l    1                ; offset: $18 (24)        ;  this XVolumeParam version (0) 
  700. ioVolIndex                 ds.w    1                ; offset: $1C (28)
  701. ioVCrDate                 ds.l    1                ; offset: $1E (30)
  702. ioVLsMod                 ds.l    1                ; offset: $22 (34)
  703. ioVAtrb                     ds.w    1                ; offset: $26 (38)
  704. ioVNmFls                 ds.w    1                ; offset: $28 (40)
  705. ioVBitMap                 ds.w    1                ; offset: $2A (42)
  706. ioAllocPtr                 ds.w    1                ; offset: $2C (44)
  707. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)
  708. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)
  709. ioVClpSiz                 ds.l    1                ; offset: $34 (52)
  710. ioAlBlSt                 ds.w    1                ; offset: $38 (56)
  711. ioVNxtCNID                 ds.l    1                ; offset: $3A (58)
  712. ioVFrBlk                 ds.w    1                ; offset: $3E (62)
  713. ioVSigWord                 ds.w    1                ; offset: $40 (64)
  714. ioVDrvInfo                 ds.w    1                ; offset: $42 (66)
  715. ioVDRefNum                 ds.w    1                ; offset: $44 (68)
  716. ioVFSID                     ds.w    1                ; offset: $46 (70)
  717. ioVBkUp                     ds.l    1                ; offset: $48 (72)
  718. ioVSeqNum                 ds.w    1                ; offset: $4C (76)
  719. ioVWrCnt                 ds.l    1                ; offset: $4E (78)
  720. ioVFilCnt                 ds.l    1                ; offset: $52 (82)
  721. ioVDirCnt                 ds.l    1                ; offset: $56 (86)
  722. ioVFndrInfo                 ds.l    8                ; offset: $5A (90)
  723. ioVTotalBytes             ds        UnsignedWide    ; offset: $7A (122)        ;  total number of bytes on volume 
  724. ioVFreeBytes             ds        UnsignedWide    ; offset: $82 (130)        ;  number of free bytes on volume 
  725. sizeof                     EQU *                    ; size:   $8A (138)
  726.                         ENDR
  727. ; typedef struct XVolumeParam *            XVolumeParamPtr
  728.  
  729. AccessParam                RECORD 0
  730. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  731. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  732. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  733. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  734. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  735. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  736. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  737. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  738. filler3                     ds.w    1                ; offset: $18 (24)
  739. ioDenyModes                 ds.w    1                ; offset: $1A (26)        ; access rights data
  740. filler4                     ds.w    1                ; offset: $1C (28)
  741. filler5                     ds.b    1                ; offset: $1E (30)
  742. ioACUser                 ds.b    1                ; offset: $1F (31)        ; access rights for directory only
  743. filler6                     ds.l    1                ; offset: $20 (32)
  744. ioACOwnerID                 ds.l    1                ; offset: $24 (36)        ; owner ID
  745. ioACGroupID                 ds.l    1                ; offset: $28 (40)        ; group ID
  746. ioACAccess                 ds.l    1                ; offset: $2C (44)        ; access rights
  747. ioDirID                     ds.l    1                ; offset: $30 (48)
  748. sizeof                     EQU *                    ; size:   $34 (52)
  749.                         ENDR
  750. ; typedef struct AccessParam *            AccessParamPtr
  751.  
  752. ObjParam                RECORD 0
  753. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  754. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  755. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  756. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  757. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  758. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  759. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  760. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  761. filler7                     ds.w    1                ; offset: $18 (24)
  762. ioObjType                 ds.w    1                ; offset: $1A (26)        ; function code
  763. ioObjNamePtr             ds.l    1                ; offset: $1C (28)        ; ptr to returned creator/group name
  764. ioObjID                     ds.l    1                ; offset: $20 (32)        ; creator/group ID
  765. sizeof                     EQU *                    ; size:   $24 (36)
  766.                         ENDR
  767. ; typedef struct ObjParam *                ObjParamPtr
  768.  
  769. CopyParam                RECORD 0
  770. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  771. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  772. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  773. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  774. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  775. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  776. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  777. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  778. ioDstVRefNum             ds.w    1                ; offset: $18 (24)        ; destination vol identifier
  779. filler8                     ds.w    1                ; offset: $1A (26)
  780. ioNewName                 ds.l    1                ; offset: $1C (28)        ; ptr to destination pathname
  781. ioCopyName                 ds.l    1                ; offset: $20 (32)        ; ptr to optional name
  782. ioNewDirID                 ds.l    1                ; offset: $24 (36)        ; destination directory ID
  783. filler14                 ds.l    1                ; offset: $28 (40)
  784. filler15                 ds.l    1                ; offset: $2C (44)
  785. ioDirID                     ds.l    1                ; offset: $30 (48)
  786. sizeof                     EQU *                    ; size:   $34 (52)
  787.                         ENDR
  788. ; typedef struct CopyParam *            CopyParamPtr
  789.  
  790. WDParam                    RECORD 0
  791. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  792. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  793. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  794. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  795. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  796. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  797. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  798. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  799. filler9                     ds.w    1                ; offset: $18 (24)
  800. ioWDIndex                 ds.w    1                ; offset: $1A (26)
  801. ioWDProcID                 ds.l    1                ; offset: $1C (28)
  802. ioWDVRefNum                 ds.w    1                ; offset: $20 (32)
  803. filler10                 ds.w    1                ; offset: $22 (34)
  804. filler11                 ds.l    1                ; offset: $24 (36)
  805. filler12                 ds.l    1                ; offset: $28 (40)
  806. filler13                 ds.l    1                ; offset: $2C (44)
  807. ioWDDirID                 ds.l    1                ; offset: $30 (48)
  808. sizeof                     EQU *                    ; size:   $34 (52)
  809.                         ENDR
  810. ; typedef struct WDParam *                WDParamPtr
  811.  
  812. FIDParam                RECORD 0
  813. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  814. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  815. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  816. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  817. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  818. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  819. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  820. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  821. filler14                 ds.l    1                ; offset: $18 (24)
  822. ioDestNamePtr             ds.l    1                ; offset: $1C (28)        ;  dest file name 
  823. filler15                 ds.l    1                ; offset: $20 (32)
  824. ioDestDirID                 ds.l    1                ; offset: $24 (36)        ;  dest file's directory id 
  825. filler16                 ds.l    1                ; offset: $28 (40)
  826. filler17                 ds.l    1                ; offset: $2C (44)
  827. ioSrcDirID                 ds.l    1                ; offset: $30 (48)        ;  source file's directory id 
  828. filler18                 ds.w    1                ; offset: $34 (52)
  829. ioFileID                 ds.l    1                ; offset: $36 (54)        ;  file ID 
  830. sizeof                     EQU *                    ; size:   $3A (58)
  831.                         ENDR
  832. ; typedef struct FIDParam *                FIDParamPtr
  833.  
  834. ForeignPrivParam        RECORD 0
  835. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  836. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  837. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  838. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  839. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  840. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  841. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  842. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  843. ioFiller21                 ds.l    1                ; offset: $18 (24)
  844. ioFiller22                 ds.l    1                ; offset: $1C (28)
  845. ioForeignPrivBuffer         ds.l    1                ; offset: $20 (32)
  846. ioForeignPrivActCount     ds.l    1                ; offset: $24 (36)
  847. ioForeignPrivReqCount     ds.l    1                ; offset: $28 (40)
  848. ioFiller23                 ds.l    1                ; offset: $2C (44)
  849. ioForeignPrivDirID         ds.l    1                ; offset: $30 (48)
  850. ioForeignPrivInfo1         ds.l    1                ; offset: $34 (52)
  851. ioForeignPrivInfo2         ds.l    1                ; offset: $38 (56)
  852. ioForeignPrivInfo3         ds.l    1                ; offset: $3C (60)
  853. ioForeignPrivInfo4         ds.l    1                ; offset: $40 (64)
  854. sizeof                     EQU *                    ; size:   $44 (68)
  855.                         ENDR
  856. ; typedef struct ForeignPrivParam *        ForeignPrivParamPtr
  857.  
  858. CSParam                    RECORD 0
  859. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  860. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  861. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  862. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  863. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  864. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  865. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  866. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  867. ioMatchPtr                 ds.l    1                ; offset: $18 (24)        ;  match array 
  868. ioReqMatchCount             ds.l    1                ; offset: $1C (28)        ;  maximum allowable matches 
  869. ioActMatchCount             ds.l    1                ; offset: $20 (32)        ;  actual match count 
  870. ioSearchBits             ds.l    1                ; offset: $24 (36)        ;  search criteria selector 
  871. ioSearchInfo1             ds.l    1                ; offset: $28 (40)        ;  search values and range lower bounds 
  872. ioSearchInfo2             ds.l    1                ; offset: $2C (44)        ;  search values and range upper bounds 
  873. ioSearchTime             ds.l    1                ; offset: $30 (48)        ;  length of time to run search 
  874. ioCatPosition             ds        CatPositionRec ; offset: $34 (52)        ;  current position in the catalog 
  875. ioOptBuffer                 ds.l    1                ; offset: $44 (68)        ;  optional performance enhancement buffer 
  876. ioOptBufSize             ds.l    1                ; offset: $48 (72)        ;  size of buffer pointed to by ioOptBuffer 
  877. sizeof                     EQU *                    ; size:   $4C (76)
  878.                         ENDR
  879. ; typedef struct CSParam *                CSParamPtr
  880.  
  881. HParamBlockRec            RECORD 0
  882. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  883. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  884. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  885. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  886. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  887. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  888. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  889. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  890. ioRefNum                 ds.w    1                ; offset: $18 (24)
  891. ioVersNum                 ds.b    1                ; offset: $1A (26)
  892. ioPermssn                 ds.b    1                ; offset: $1B (27)
  893. ioMisc                     ds.l    1                ; offset: $1C (28)
  894. ioBuffer                 ds.l    1                ; offset: $20 (32)
  895. ioReqCount                 ds.l    1                ; offset: $24 (36)
  896. ioActCount                 ds.l    1                ; offset: $28 (40)
  897. ioPosMode                 ds.w    1                ; offset: $2C (44)
  898. ioPosOffset                 ds.l    1                ; offset: $2E (46)
  899.                          ORG 24
  900. ioFRefNum                 ds.w    1                ; offset: $18 (24)
  901. ioFVersNum                 ds.b    1                ; offset: $1A (26)
  902. filler1                     ds.b    1                ; offset: $1B (27)
  903. ioFDirIndex                 ds.w    1                ; offset: $1C (28)
  904. ioFlAttrib                 ds.b    1                ; offset: $1E (30)
  905. ioFlVersNum                 ds.b    1                ; offset: $1F (31)
  906. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)
  907. ioDirID                     ds.l    1                ; offset: $30 (48)
  908. ioFlStBlk                 ds.w    1                ; offset: $34 (52)
  909. ioFlLgLen                 ds.l    1                ; offset: $36 (54)
  910. ioFlPyLen                 ds.l    1                ; offset: $3A (58)
  911. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)
  912. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)
  913. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)
  914. ioFlCrDat                 ds.l    1                ; offset: $48 (72)
  915. ioFlMdDat                 ds.l    1                ; offset: $4C (76)
  916.                          ORG 24
  917. filler2                     ds.l    1                ; offset: $18 (24)
  918. ioVolIndex                 ds.w    1                ; offset: $1C (28)
  919. ioVCrDate                 ds.l    1                ; offset: $1E (30)
  920. ioVLsMod                 ds.l    1                ; offset: $22 (34)
  921. ioVAtrb                     ds.w    1                ; offset: $26 (38)
  922. ioVNmFls                 ds.w    1                ; offset: $28 (40)
  923. ioVBitMap                 ds.w    1                ; offset: $2A (42)
  924. ioAllocPtr                 ds.w    1                ; offset: $2C (44)
  925. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)
  926. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)
  927. ioVClpSiz                 ds.l    1                ; offset: $34 (52)
  928. ioAlBlSt                 ds.w    1                ; offset: $38 (56)
  929. ioVNxtCNID                 ds.l    1                ; offset: $3A (58)
  930. ioVFrBlk                 ds.w    1                ; offset: $3E (62)
  931. ioVSigWord                 ds.w    1                ; offset: $40 (64)
  932. ioVDrvInfo                 ds.w    1                ; offset: $42 (66)
  933. ioVDRefNum                 ds.w    1                ; offset: $44 (68)
  934. ioVFSID                     ds.w    1                ; offset: $46 (70)
  935. ioVBkUp                     ds.l    1                ; offset: $48 (72)
  936. ioVSeqNum                 ds.w    1                ; offset: $4C (76)
  937. ioVWrCnt                 ds.l    1                ; offset: $4E (78)
  938. ioVFilCnt                 ds.l    1                ; offset: $52 (82)
  939. ioVDirCnt                 ds.l    1                ; offset: $56 (86)
  940. ioVFndrInfo                 ds.l    8                ; offset: $5A (90)
  941.                          ORG 24
  942. filler3                     ds.w    1                ; offset: $18 (24)
  943. ioDenyModes                 ds.w    1                ; offset: $1A (26)        ; access rights data
  944. filler4                     ds.w    1                ; offset: $1C (28)
  945. filler5                     ds.b    1                ; offset: $1E (30)
  946. ioACUser                 ds.b    1                ; offset: $1F (31)        ; access rights for directory only
  947. filler6                     ds.l    1                ; offset: $20 (32)
  948. ioACOwnerID                 ds.l    1                ; offset: $24 (36)        ; owner ID
  949. ioACGroupID                 ds.l    1                ; offset: $28 (40)        ; group ID
  950. ioACAccess                 ds.l    1                ; offset: $2C (44)        ; access rights
  951.                          ORG 24
  952. filler7                     ds.w    1                ; offset: $18 (24)
  953. ioObjType                 ds.w    1                ; offset: $1A (26)        ; function code
  954. ioObjNamePtr             ds.l    1                ; offset: $1C (28)        ; ptr to returned creator/group name
  955. ioObjID                     ds.l    1                ; offset: $20 (32)        ; creator/group ID
  956.                          ORG 24
  957. ioDstVRefNum             ds.w    1                ; offset: $18 (24)        ; destination vol identifier
  958. filler8                     ds.w    1                ; offset: $1A (26)
  959. ioNewName                 ds.l    1                ; offset: $1C (28)        ; ptr to destination pathname
  960. ioCopyName                 ds.l    1                ; offset: $20 (32)        ; ptr to optional name
  961. ioNewDirID                 ds.l    1                ; offset: $24 (36)        ; destination directory ID
  962.                          ORG 24
  963. filler9                     ds.w    1                ; offset: $18 (24)
  964. ioWDIndex                 ds.w    1                ; offset: $1A (26)
  965. ioWDProcID                 ds.l    1                ; offset: $1C (28)
  966. ioWDVRefNum                 ds.w    1                ; offset: $20 (32)
  967. filler10                 ds.w    1                ; offset: $22 (34)
  968. filler11                 ds.l    1                ; offset: $24 (36)
  969. filler12                 ds.l    1                ; offset: $28 (40)
  970. filler13                 ds.l    1                ; offset: $2C (44)
  971. ioWDDirID                 ds.l    1                ; offset: $30 (48)
  972.                          ORG 24
  973. filler14                 ds.l    1                ; offset: $18 (24)
  974. ioDestNamePtr             ds.l    1                ; offset: $1C (28)        ;  dest file name 
  975. filler15                 ds.l    1                ; offset: $20 (32)
  976. ioDestDirID                 ds.l    1                ; offset: $24 (36)        ;  dest file's directory id 
  977. filler16                 ds.l    1                ; offset: $28 (40)
  978. filler17                 ds.l    1                ; offset: $2C (44)
  979. ioSrcDirID                 ds.l    1                ; offset: $30 (48)        ;  source file's directory id 
  980. filler18                 ds.w    1                ; offset: $34 (52)
  981. ioFileID                 ds.l    1                ; offset: $36 (54)        ;  file ID 
  982.                          ORG 24
  983. ioMatchPtr                 ds.l    1                ; offset: $18 (24)        ;  match array 
  984. ioReqMatchCount             ds.l    1                ; offset: $1C (28)        ;  maximum allowable matches 
  985. ioActMatchCount             ds.l    1                ; offset: $20 (32)        ;  actual match count 
  986. ioSearchBits             ds.l    1                ; offset: $24 (36)        ;  search criteria selector 
  987. ioSearchInfo1             ds.l    1                ; offset: $28 (40)        ;  search values and range lower bounds 
  988. ioSearchInfo2             ds.l    1                ; offset: $2C (44)        ;  search values and range upper bounds 
  989. ioSearchTime             ds.l    1                ; offset: $30 (48)        ;  length of time to run search 
  990. ioCatPosition             ds        CatPositionRec ; offset: $34 (52)        ;  current position in the catalog 
  991. ioOptBuffer                 ds.l    1                ; offset: $44 (68)        ;  optional performance enhancement buffer 
  992. ioOptBufSize             ds.l    1                ; offset: $48 (72)        ;  size of buffer pointed to by ioOptBuffer 
  993.                          ORG 24
  994. ioFiller21                 ds.l    1                ; offset: $18 (24)
  995. ioFiller22                 ds.l    1                ; offset: $1C (28)
  996. ioForeignPrivBuffer         ds.l    1                ; offset: $20 (32)
  997. ioForeignPrivActCount     ds.l    1                ; offset: $24 (36)
  998. ioForeignPrivReqCount     ds.l    1                ; offset: $28 (40)
  999. ioFiller23                 ds.l    1                ; offset: $2C (44)
  1000. ioForeignPrivDirID         ds.l    1                ; offset: $30 (48)
  1001. ioForeignPrivInfo1         ds.l    1                ; offset: $34 (52)
  1002. ioForeignPrivInfo2         ds.l    1                ; offset: $38 (56)
  1003. ioForeignPrivInfo3         ds.l    1                ; offset: $3C (60)
  1004. ioForeignPrivInfo4         ds.l    1                ; offset: $40 (64)
  1005.                          ORG 122
  1006. sizeof                     EQU *                    ; size:   $7A (122)
  1007.                         ENDR
  1008. ; typedef struct HParamBlockRec *        HParmBlkPtr
  1009.  
  1010. CMovePBRec                RECORD 0
  1011. qLink                     ds.l    1                ; offset: $0 (0)
  1012. qType                     ds.w    1                ; offset: $4 (4)
  1013. ioTrap                     ds.w    1                ; offset: $6 (6)
  1014. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  1015. ioCompletion             ds.l    1                ; offset: $C (12)
  1016. ioResult                 ds.w    1                ; offset: $10 (16)
  1017. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  1018. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  1019. filler1                     ds.l    1                ; offset: $18 (24)
  1020. ioNewName                 ds.l    1                ; offset: $1C (28)
  1021. filler2                     ds.l    1                ; offset: $20 (32)
  1022. ioNewDirID                 ds.l    1                ; offset: $24 (36)
  1023. filler3                     ds.l    2                ; offset: $28 (40)
  1024. ioDirID                     ds.l    1                ; offset: $30 (48)
  1025. sizeof                     EQU *                    ; size:   $34 (52)
  1026.                         ENDR
  1027. ; typedef struct CMovePBRec *            CMovePBPtr
  1028.  
  1029. WDPBRec                    RECORD 0
  1030. qLink                     ds.l    1                ; offset: $0 (0)
  1031. qType                     ds.w    1                ; offset: $4 (4)
  1032. ioTrap                     ds.w    1                ; offset: $6 (6)
  1033. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  1034. ioCompletion             ds.l    1                ; offset: $C (12)
  1035. ioResult                 ds.w    1                ; offset: $10 (16)
  1036. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  1037. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  1038. filler1                     ds.w    1                ; offset: $18 (24)
  1039. ioWDIndex                 ds.w    1                ; offset: $1A (26)
  1040. ioWDProcID                 ds.l    1                ; offset: $1C (28)
  1041. ioWDVRefNum                 ds.w    1                ; offset: $20 (32)
  1042. filler2                     ds.w    7                ; offset: $22 (34)
  1043. ioWDDirID                 ds.l    1                ; offset: $30 (48)
  1044. sizeof                     EQU *                    ; size:   $34 (52)
  1045.                         ENDR
  1046. ; typedef struct WDPBRec *                WDPBPtr
  1047.  
  1048. FCBPBRec                RECORD 0
  1049. qLink                     ds.l    1                ; offset: $0 (0)
  1050. qType                     ds.w    1                ; offset: $4 (4)
  1051. ioTrap                     ds.w    1                ; offset: $6 (6)
  1052. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  1053. ioCompletion             ds.l    1                ; offset: $C (12)
  1054. ioResult                 ds.w    1                ; offset: $10 (16)
  1055. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  1056. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  1057. ioRefNum                 ds.w    1                ; offset: $18 (24)
  1058. filler                     ds.w    1                ; offset: $1A (26)
  1059. ioFCBIndx                 ds.w    1                ; offset: $1C (28)
  1060. filler1                     ds.w    1                ; offset: $1E (30)
  1061. ioFCBFlNm                 ds.l    1                ; offset: $20 (32)
  1062. ioFCBFlags                 ds.w    1                ; offset: $24 (36)
  1063. ioFCBStBlk                 ds.w    1                ; offset: $26 (38)
  1064. ioFCBEOF                 ds.l    1                ; offset: $28 (40)
  1065. ioFCBPLen                 ds.l    1                ; offset: $2C (44)
  1066. ioFCBCrPs                 ds.l    1                ; offset: $30 (48)
  1067. ioFCBVRefNum             ds.w    1                ; offset: $34 (52)
  1068. ioFCBClpSiz                 ds.l    1                ; offset: $36 (54)
  1069. ioFCBParID                 ds.l    1                ; offset: $3A (58)
  1070. sizeof                     EQU *                    ; size:   $3E (62)
  1071.                         ENDR
  1072. ; typedef struct FCBPBRec *                FCBPBPtr
  1073.  
  1074. VCB                        RECORD 0
  1075. qLink                     ds.l    1                ; offset: $0 (0)
  1076. qType                     ds.w    1                ; offset: $4 (4)
  1077. vcbFlags                 ds.w    1                ; offset: $6 (6)
  1078. vcbSigWord                 ds.w    1                ; offset: $8 (8)
  1079. vcbCrDate                 ds.l    1                ; offset: $A (10)
  1080. vcbLsMod                 ds.l    1                ; offset: $E (14)
  1081. vcbAtrb                     ds.w    1                ; offset: $12 (18)
  1082. vcbNmFls                 ds.w    1                ; offset: $14 (20)
  1083. vcbVBMSt                 ds.w    1                ; offset: $16 (22)
  1084. vcbAllocPtr                 ds.w    1                ; offset: $18 (24)
  1085. vcbNmAlBlks                 ds.w    1                ; offset: $1A (26)
  1086. vcbAlBlkSiz                 ds.l    1                ; offset: $1C (28)
  1087. vcbClpSiz                 ds.l    1                ; offset: $20 (32)
  1088. vcbAlBlSt                 ds.w    1                ; offset: $24 (36)
  1089. vcbNxtCNID                 ds.l    1                ; offset: $26 (38)
  1090. vcbFreeBks                 ds.w    1                ; offset: $2A (42)
  1091. vcbVN                     ds        Str27            ; offset: $2C (44)
  1092. vcbDrvNum                 ds.w    1                ; offset: $48 (72)
  1093. vcbDRefNum                 ds.w    1                ; offset: $4A (74)
  1094. vcbFSID                     ds.w    1                ; offset: $4C (76)
  1095. vcbVRefNum                 ds.w    1                ; offset: $4E (78)
  1096. vcbMAdr                     ds.l    1                ; offset: $50 (80)
  1097. vcbBufAdr                 ds.l    1                ; offset: $54 (84)
  1098. vcbMLen                     ds.w    1                ; offset: $58 (88)
  1099. vcbDirIndex                 ds.w    1                ; offset: $5A (90)
  1100. vcbDirBlk                 ds.w    1                ; offset: $5C (92)
  1101. vcbVolBkUp                 ds.l    1                ; offset: $5E (94)
  1102. vcbVSeqNum                 ds.w    1                ; offset: $62 (98)
  1103. vcbWrCnt                 ds.l    1                ; offset: $64 (100)
  1104. vcbXTClpSiz                 ds.l    1                ; offset: $68 (104)
  1105. vcbCTClpSiz                 ds.l    1                ; offset: $6C (108)
  1106. vcbNmRtDirs                 ds.w    1                ; offset: $70 (112)
  1107. vcbFilCnt                 ds.l    1                ; offset: $72 (114)
  1108. vcbDirCnt                 ds.l    1                ; offset: $76 (118)
  1109. vcbFndrInfo                 ds.l    8                ; offset: $7A (122)
  1110. vcbVCSize                 ds.w    1                ; offset: $9A (154)
  1111. vcbVBMCSiz                 ds.w    1                ; offset: $9C (156)
  1112. vcbCtlCSiz                 ds.w    1                ; offset: $9E (158)
  1113. vcbXTAlBlks                 ds.w    1                ; offset: $A0 (160)
  1114. vcbCTAlBlks                 ds.w    1                ; offset: $A2 (162)
  1115. vcbXTRef                 ds.w    1                ; offset: $A4 (164)
  1116. vcbCTRef                 ds.w    1                ; offset: $A6 (166)
  1117. vcbCtlBuf                 ds.l    1                ; offset: $A8 (168)
  1118. vcbDirIDM                 ds.l    1                ; offset: $AC (172)
  1119. vcbOffsM                 ds.w    1                ; offset: $B0 (176)
  1120. sizeof                     EQU *                    ; size:   $B2 (178)
  1121.                         ENDR
  1122.     IF ¨ OLDROUTINELOCATIONS THEN
  1123. ; typedef struct VCB *                    VCBPtr
  1124.  
  1125.     ENDIF
  1126. DrvQEl                    RECORD 0
  1127. qLink                     ds.l    1                ; offset: $0 (0)
  1128. qType                     ds.w    1                ; offset: $4 (4)
  1129. dQDrive                     ds.w    1                ; offset: $6 (6)
  1130. dQRefNum                 ds.w    1                ; offset: $8 (8)
  1131. dQFSID                     ds.w    1                ; offset: $A (10)
  1132. dQDrvSz                     ds.w    1                ; offset: $C (12)
  1133. dQDrvSz2                 ds.w    1                ; offset: $E (14)
  1134. sizeof                     EQU *                    ; size:   $10 (16)
  1135.                         ENDR
  1136. ; typedef struct DrvQEl *                DrvQElPtr
  1137.  
  1138.     IF OLDROUTINELOCATIONS THEN
  1139. ;
  1140. ; pascal OSErr PBOpenSync(ParmBlkPtr paramBlock)
  1141. ;
  1142.     IF ¨ GENERATINGCFM THEN
  1143.         ; parameters:
  1144.         ;    paramBlock      => A0
  1145.         ; returns:
  1146.         ;    OSErr           <= D0
  1147.         _PBOpenSync:    OPWORD    $A000
  1148.     ELSE
  1149.         IMPORT_CFM_FUNCTION PBOpenSync
  1150.     ENDIF
  1151.  
  1152. ;
  1153. ; pascal OSErr PBOpenAsync(ParmBlkPtr paramBlock)
  1154. ;
  1155.     IF ¨ GENERATINGCFM THEN
  1156.         ; parameters:
  1157.         ;    paramBlock      => A0
  1158.         ; returns:
  1159.         ;    OSErr           <= D0
  1160.         _PBOpenAsync:    OPWORD    $A400
  1161.     ELSE
  1162.         IMPORT_CFM_FUNCTION PBOpenAsync
  1163.     ENDIF
  1164.  
  1165. ;
  1166. ; pascal OSErr PBOpenImmed(ParmBlkPtr paramBlock)
  1167. ;
  1168.     IF ¨ GENERATINGCFM THEN
  1169.         ; parameters:
  1170.         ;    paramBlock      => A0
  1171.         ; returns:
  1172.         ;    OSErr           <= D0
  1173.         _PBOpenImmed:    OPWORD    $A200
  1174.     ELSE
  1175.         IMPORT_CFM_FUNCTION PBOpenImmed
  1176.     ENDIF
  1177.  
  1178. ;
  1179. ; pascal OSErr PBCloseSync(ParmBlkPtr paramBlock)
  1180. ;
  1181.     IF ¨ GENERATINGCFM THEN
  1182.         ; parameters:
  1183.         ;    paramBlock      => A0
  1184.         ; returns:
  1185.         ;    OSErr           <= D0
  1186.         _PBCloseSync:    OPWORD    $A001
  1187.     ELSE
  1188.         IMPORT_CFM_FUNCTION PBCloseSync
  1189.     ENDIF
  1190.  
  1191. ;
  1192. ; pascal OSErr PBCloseAsync(ParmBlkPtr paramBlock)
  1193. ;
  1194.     IF ¨ GENERATINGCFM THEN
  1195.         ; parameters:
  1196.         ;    paramBlock      => A0
  1197.         ; returns:
  1198.         ;    OSErr           <= D0
  1199.         _PBCloseAsync:    OPWORD    $A401
  1200.     ELSE
  1201.         IMPORT_CFM_FUNCTION PBCloseAsync
  1202.     ENDIF
  1203.  
  1204. ;
  1205. ; pascal OSErr PBCloseImmed(ParmBlkPtr paramBlock)
  1206. ;
  1207.     IF ¨ GENERATINGCFM THEN
  1208.         ; parameters:
  1209.         ;    paramBlock      => A0
  1210.         ; returns:
  1211.         ;    OSErr           <= D0
  1212.         _PBCloseImmed:    OPWORD    $A201
  1213.     ELSE
  1214.         IMPORT_CFM_FUNCTION PBCloseImmed
  1215.     ENDIF
  1216.  
  1217. ;
  1218. ; pascal OSErr PBReadSync(ParmBlkPtr paramBlock)
  1219. ;
  1220.     IF ¨ GENERATINGCFM THEN
  1221.         ; parameters:
  1222.         ;    paramBlock      => A0
  1223.         ; returns:
  1224.         ;    OSErr           <= D0
  1225.         _PBReadSync:    OPWORD    $A002
  1226.     ELSE
  1227.         IMPORT_CFM_FUNCTION PBReadSync
  1228.     ENDIF
  1229.  
  1230. ;
  1231. ; pascal OSErr PBReadAsync(ParmBlkPtr paramBlock)
  1232. ;
  1233.     IF ¨ GENERATINGCFM THEN
  1234.         ; parameters:
  1235.         ;    paramBlock      => A0
  1236.         ; returns:
  1237.         ;    OSErr           <= D0
  1238.         _PBReadAsync:    OPWORD    $A402
  1239.     ELSE
  1240.         IMPORT_CFM_FUNCTION PBReadAsync
  1241.     ENDIF
  1242.  
  1243. ;
  1244. ; pascal OSErr PBReadImmed(ParmBlkPtr paramBlock)
  1245. ;
  1246.     IF ¨ GENERATINGCFM THEN
  1247.         ; parameters:
  1248.         ;    paramBlock      => A0
  1249.         ; returns:
  1250.         ;    OSErr           <= D0
  1251.         _PBReadImmed:    OPWORD    $A202
  1252.     ELSE
  1253.         IMPORT_CFM_FUNCTION PBReadImmed
  1254.     ENDIF
  1255.  
  1256. ;
  1257. ; pascal OSErr PBWriteSync(ParmBlkPtr paramBlock)
  1258. ;
  1259.     IF ¨ GENERATINGCFM THEN
  1260.         ; parameters:
  1261.         ;    paramBlock      => A0
  1262.         ; returns:
  1263.         ;    OSErr           <= D0
  1264.         _PBWriteSync:    OPWORD    $A003
  1265.     ELSE
  1266.         IMPORT_CFM_FUNCTION PBWriteSync
  1267.     ENDIF
  1268.  
  1269. ;
  1270. ; pascal OSErr PBWriteAsync(ParmBlkPtr paramBlock)
  1271. ;
  1272.     IF ¨ GENERATINGCFM THEN
  1273.         ; parameters:
  1274.         ;    paramBlock      => A0
  1275.         ; returns:
  1276.         ;    OSErr           <= D0
  1277.         _PBWriteAsync:    OPWORD    $A403
  1278.     ELSE
  1279.         IMPORT_CFM_FUNCTION PBWriteAsync
  1280.     ENDIF
  1281.  
  1282. ;
  1283. ; pascal OSErr PBWriteImmed(ParmBlkPtr paramBlock)
  1284. ;
  1285.     IF ¨ GENERATINGCFM THEN
  1286.         ; parameters:
  1287.         ;    paramBlock      => A0
  1288.         ; returns:
  1289.         ;    OSErr           <= D0
  1290.         _PBWriteImmed:    OPWORD    $A203
  1291.     ELSE
  1292.         IMPORT_CFM_FUNCTION PBWriteImmed
  1293.     ENDIF
  1294.  
  1295.     ENDIF
  1296. ;
  1297. ; pascal OSErr PBGetVInfoSync(ParmBlkPtr paramBlock)
  1298. ;
  1299.     IF ¨ GENERATINGCFM THEN
  1300.         ; parameters:
  1301.         ;    paramBlock      => A0
  1302.         ; returns:
  1303.         ;    OSErr           <= D0
  1304.         _PBGetVInfoSync:    OPWORD    $A007
  1305.     ELSE
  1306.         IMPORT_CFM_FUNCTION PBGetVInfoSync
  1307.     ENDIF
  1308.  
  1309. ;
  1310. ; pascal OSErr PBGetVInfoAsync(ParmBlkPtr paramBlock)
  1311. ;
  1312.     IF ¨ GENERATINGCFM THEN
  1313.         ; parameters:
  1314.         ;    paramBlock      => A0
  1315.         ; returns:
  1316.         ;    OSErr           <= D0
  1317.         _PBGetVInfoAsync:    OPWORD    $A407
  1318.     ELSE
  1319.         IMPORT_CFM_FUNCTION PBGetVInfoAsync
  1320.     ENDIF
  1321.  
  1322. ;
  1323. ; pascal OSErr PBXGetVolInfoSync(XVolumeParamPtr paramBlock)
  1324. ;
  1325.     IF ¨ GENERATINGCFM THEN
  1326.         ; parameters:
  1327.         ;    paramBlock      => A0
  1328.         ; returns:
  1329.         ;    OSErr           <= D0
  1330.         Macro
  1331.         _PBXGetVolInfoSync
  1332.             moveq               #18,D0
  1333.             dc.w                $A060
  1334.         EndM
  1335.     ELSE
  1336.         IMPORT_CFM_FUNCTION PBXGetVolInfoSync
  1337.     ENDIF
  1338.  
  1339. ;
  1340. ; pascal OSErr PBXGetVolInfoAsync(XVolumeParamPtr paramBlock)
  1341. ;
  1342.     IF ¨ GENERATINGCFM THEN
  1343.         ; parameters:
  1344.         ;    paramBlock      => A0
  1345.         ; returns:
  1346.         ;    OSErr           <= D0
  1347.         Macro
  1348.         _PBXGetVolInfoAsync
  1349.             moveq               #18,D0
  1350.             dc.w                $A460
  1351.         EndM
  1352.     ELSE
  1353.         IMPORT_CFM_FUNCTION PBXGetVolInfoAsync
  1354.     ENDIF
  1355.  
  1356. ;
  1357. ; pascal OSErr PBGetVolSync(ParmBlkPtr paramBlock)
  1358. ;
  1359.     IF ¨ GENERATINGCFM THEN
  1360.         ; parameters:
  1361.         ;    paramBlock      => A0
  1362.         ; returns:
  1363.         ;    OSErr           <= D0
  1364.         _PBGetVolSync:    OPWORD    $A014
  1365.     ELSE
  1366.         IMPORT_CFM_FUNCTION PBGetVolSync
  1367.     ENDIF
  1368.  
  1369. ;
  1370. ; pascal OSErr PBGetVolAsync(ParmBlkPtr paramBlock)
  1371. ;
  1372.     IF ¨ GENERATINGCFM THEN
  1373.         ; parameters:
  1374.         ;    paramBlock      => A0
  1375.         ; returns:
  1376.         ;    OSErr           <= D0
  1377.         _PBGetVolAsync:    OPWORD    $A414
  1378.     ELSE
  1379.         IMPORT_CFM_FUNCTION PBGetVolAsync
  1380.     ENDIF
  1381.  
  1382. ;
  1383. ; pascal OSErr PBSetVolSync(ParmBlkPtr paramBlock)
  1384. ;
  1385.     IF ¨ GENERATINGCFM THEN
  1386.         ; parameters:
  1387.         ;    paramBlock      => A0
  1388.         ; returns:
  1389.         ;    OSErr           <= D0
  1390.         _PBSetVolSync:    OPWORD    $A015
  1391.     ELSE
  1392.         IMPORT_CFM_FUNCTION PBSetVolSync
  1393.     ENDIF
  1394.  
  1395. ;
  1396. ; pascal OSErr PBSetVolAsync(ParmBlkPtr paramBlock)
  1397. ;
  1398.     IF ¨ GENERATINGCFM THEN
  1399.         ; parameters:
  1400.         ;    paramBlock      => A0
  1401.         ; returns:
  1402.         ;    OSErr           <= D0
  1403.         _PBSetVolAsync:    OPWORD    $A415
  1404.     ELSE
  1405.         IMPORT_CFM_FUNCTION PBSetVolAsync
  1406.     ENDIF
  1407.  
  1408. ;
  1409. ; pascal OSErr PBFlushVolSync(ParmBlkPtr paramBlock)
  1410. ;
  1411.     IF ¨ GENERATINGCFM THEN
  1412.         ; parameters:
  1413.         ;    paramBlock      => A0
  1414.         ; returns:
  1415.         ;    OSErr           <= D0
  1416.         _PBFlushVolSync:    OPWORD    $A013
  1417.     ELSE
  1418.         IMPORT_CFM_FUNCTION PBFlushVolSync
  1419.     ENDIF
  1420.  
  1421. ;
  1422. ; pascal OSErr PBFlushVolAsync(ParmBlkPtr paramBlock)
  1423. ;
  1424.     IF ¨ GENERATINGCFM THEN
  1425.         ; parameters:
  1426.         ;    paramBlock      => A0
  1427.         ; returns:
  1428.         ;    OSErr           <= D0
  1429.         _PBFlushVolAsync:    OPWORD    $A413
  1430.     ELSE
  1431.         IMPORT_CFM_FUNCTION PBFlushVolAsync
  1432.     ENDIF
  1433.  
  1434. ;
  1435. ; pascal OSErr PBCreateSync(ParmBlkPtr paramBlock)
  1436. ;
  1437.     IF ¨ GENERATINGCFM THEN
  1438.         ; parameters:
  1439.         ;    paramBlock      => A0
  1440.         ; returns:
  1441.         ;    OSErr           <= D0
  1442.         _PBCreateSync:    OPWORD    $A008
  1443.     ELSE
  1444.         IMPORT_CFM_FUNCTION PBCreateSync
  1445.     ENDIF
  1446.  
  1447. ;
  1448. ; pascal OSErr PBCreateAsync(ParmBlkPtr paramBlock)
  1449. ;
  1450.     IF ¨ GENERATINGCFM THEN
  1451.         ; parameters:
  1452.         ;    paramBlock      => A0
  1453.         ; returns:
  1454.         ;    OSErr           <= D0
  1455.         _PBCreateAsync:    OPWORD    $A408
  1456.     ELSE
  1457.         IMPORT_CFM_FUNCTION PBCreateAsync
  1458.     ENDIF
  1459.  
  1460. ;
  1461. ; pascal OSErr PBDeleteSync(ParmBlkPtr paramBlock)
  1462. ;
  1463.     IF ¨ GENERATINGCFM THEN
  1464.         ; parameters:
  1465.         ;    paramBlock      => A0
  1466.         ; returns:
  1467.         ;    OSErr           <= D0
  1468.         _PBDeleteSync:    OPWORD    $A009
  1469.     ELSE
  1470.         IMPORT_CFM_FUNCTION PBDeleteSync
  1471.     ENDIF
  1472.  
  1473. ;
  1474. ; pascal OSErr PBDeleteAsync(ParmBlkPtr paramBlock)
  1475. ;
  1476.     IF ¨ GENERATINGCFM THEN
  1477.         ; parameters:
  1478.         ;    paramBlock      => A0
  1479.         ; returns:
  1480.         ;    OSErr           <= D0
  1481.         _PBDeleteAsync:    OPWORD    $A409
  1482.     ELSE
  1483.         IMPORT_CFM_FUNCTION PBDeleteAsync
  1484.     ENDIF
  1485.  
  1486. ;
  1487. ; pascal OSErr PBOpenDFSync(ParmBlkPtr paramBlock)
  1488. ;
  1489.     IF ¨ GENERATINGCFM THEN
  1490.         ; parameters:
  1491.         ;    paramBlock      => A0
  1492.         ; returns:
  1493.         ;    OSErr           <= D0
  1494.         Macro
  1495.         _PBOpenDFSync
  1496.             moveq               #26,D0
  1497.             dc.w                $A060
  1498.         EndM
  1499.     ELSE
  1500.         IMPORT_CFM_FUNCTION PBOpenDFSync
  1501.     ENDIF
  1502.  
  1503. ;
  1504. ; pascal OSErr PBOpenDFAsync(ParmBlkPtr paramBlock)
  1505. ;
  1506.     IF ¨ GENERATINGCFM THEN
  1507.         ; parameters:
  1508.         ;    paramBlock      => A0
  1509.         ; returns:
  1510.         ;    OSErr           <= D0
  1511.         Macro
  1512.         _PBOpenDFAsync
  1513.             moveq               #26,D0
  1514.             dc.w                $A460
  1515.         EndM
  1516.     ELSE
  1517.         IMPORT_CFM_FUNCTION PBOpenDFAsync
  1518.     ENDIF
  1519.  
  1520. ;
  1521. ; pascal OSErr PBOpenRFSync(ParmBlkPtr paramBlock)
  1522. ;
  1523.     IF ¨ GENERATINGCFM THEN
  1524.         ; parameters:
  1525.         ;    paramBlock      => A0
  1526.         ; returns:
  1527.         ;    OSErr           <= D0
  1528.         _PBOpenRFSync:    OPWORD    $A00A
  1529.     ELSE
  1530.         IMPORT_CFM_FUNCTION PBOpenRFSync
  1531.     ENDIF
  1532.  
  1533. ;
  1534. ; pascal OSErr PBOpenRFAsync(ParmBlkPtr paramBlock)
  1535. ;
  1536.     IF ¨ GENERATINGCFM THEN
  1537.         ; parameters:
  1538.         ;    paramBlock      => A0
  1539.         ; returns:
  1540.         ;    OSErr           <= D0
  1541.         _PBOpenRFAsync:    OPWORD    $A40A
  1542.     ELSE
  1543.         IMPORT_CFM_FUNCTION PBOpenRFAsync
  1544.     ENDIF
  1545.  
  1546. ;
  1547. ; pascal OSErr PBRenameSync(ParmBlkPtr paramBlock)
  1548. ;
  1549.     IF ¨ GENERATINGCFM THEN
  1550.         ; parameters:
  1551.         ;    paramBlock      => A0
  1552.         ; returns:
  1553.         ;    OSErr           <= D0
  1554.         _PBRenameSync:    OPWORD    $A00B
  1555.     ELSE
  1556.         IMPORT_CFM_FUNCTION PBRenameSync
  1557.     ENDIF
  1558.  
  1559. ;
  1560. ; pascal OSErr PBRenameAsync(ParmBlkPtr paramBlock)
  1561. ;
  1562.     IF ¨ GENERATINGCFM THEN
  1563.         ; parameters:
  1564.         ;    paramBlock      => A0
  1565.         ; returns:
  1566.         ;    OSErr           <= D0
  1567.         _PBRenameAsync:    OPWORD    $A40B
  1568.     ELSE
  1569.         IMPORT_CFM_FUNCTION PBRenameAsync
  1570.     ENDIF
  1571.  
  1572. ;
  1573. ; pascal OSErr PBGetFInfoSync(ParmBlkPtr paramBlock)
  1574. ;
  1575.     IF ¨ GENERATINGCFM THEN
  1576.         ; parameters:
  1577.         ;    paramBlock      => A0
  1578.         ; returns:
  1579.         ;    OSErr           <= D0
  1580.         _PBGetFInfoSync:    OPWORD    $A00C
  1581.     ELSE
  1582.         IMPORT_CFM_FUNCTION PBGetFInfoSync
  1583.     ENDIF
  1584.  
  1585. ;
  1586. ; pascal OSErr PBGetFInfoAsync(ParmBlkPtr paramBlock)
  1587. ;
  1588.     IF ¨ GENERATINGCFM THEN
  1589.         ; parameters:
  1590.         ;    paramBlock      => A0
  1591.         ; returns:
  1592.         ;    OSErr           <= D0
  1593.         _PBGetFInfoAsync:    OPWORD    $A40C
  1594.     ELSE
  1595.         IMPORT_CFM_FUNCTION PBGetFInfoAsync
  1596.     ENDIF
  1597.  
  1598. ;
  1599. ; pascal OSErr PBSetFInfoSync(ParmBlkPtr paramBlock)
  1600. ;
  1601.     IF ¨ GENERATINGCFM THEN
  1602.         ; parameters:
  1603.         ;    paramBlock      => A0
  1604.         ; returns:
  1605.         ;    OSErr           <= D0
  1606.         _PBSetFInfoSync:    OPWORD    $A00D
  1607.     ELSE
  1608.         IMPORT_CFM_FUNCTION PBSetFInfoSync
  1609.     ENDIF
  1610.  
  1611. ;
  1612. ; pascal OSErr PBSetFInfoAsync(ParmBlkPtr paramBlock)
  1613. ;
  1614.     IF ¨ GENERATINGCFM THEN
  1615.         ; parameters:
  1616.         ;    paramBlock      => A0
  1617.         ; returns:
  1618.         ;    OSErr           <= D0
  1619.         _PBSetFInfoAsync:    OPWORD    $A40D
  1620.     ELSE
  1621.         IMPORT_CFM_FUNCTION PBSetFInfoAsync
  1622.     ENDIF
  1623.  
  1624. ;
  1625. ; pascal OSErr PBSetFLockSync(ParmBlkPtr paramBlock)
  1626. ;
  1627.     IF ¨ GENERATINGCFM THEN
  1628.         ; parameters:
  1629.         ;    paramBlock      => A0
  1630.         ; returns:
  1631.         ;    OSErr           <= D0
  1632.         _PBSetFLockSync:    OPWORD    $A041
  1633.     ELSE
  1634.         IMPORT_CFM_FUNCTION PBSetFLockSync
  1635.     ENDIF
  1636.  
  1637. ;
  1638. ; pascal OSErr PBSetFLockAsync(ParmBlkPtr paramBlock)
  1639. ;
  1640.     IF ¨ GENERATINGCFM THEN
  1641.         ; parameters:
  1642.         ;    paramBlock      => A0
  1643.         ; returns:
  1644.         ;    OSErr           <= D0
  1645.         _PBSetFLockAsync:    OPWORD    $A441
  1646.     ELSE
  1647.         IMPORT_CFM_FUNCTION PBSetFLockAsync
  1648.     ENDIF
  1649.  
  1650. ;
  1651. ; pascal OSErr PBRstFLockSync(ParmBlkPtr paramBlock)
  1652. ;
  1653.     IF ¨ GENERATINGCFM THEN
  1654.         ; parameters:
  1655.         ;    paramBlock      => A0
  1656.         ; returns:
  1657.         ;    OSErr           <= D0
  1658.         _PBRstFLockSync:    OPWORD    $A042
  1659.     ELSE
  1660.         IMPORT_CFM_FUNCTION PBRstFLockSync
  1661.     ENDIF
  1662.  
  1663. ;
  1664. ; pascal OSErr PBRstFLockAsync(ParmBlkPtr paramBlock)
  1665. ;
  1666.     IF ¨ GENERATINGCFM THEN
  1667.         ; parameters:
  1668.         ;    paramBlock      => A0
  1669.         ; returns:
  1670.         ;    OSErr           <= D0
  1671.         _PBRstFLockAsync:    OPWORD    $A442
  1672.     ELSE
  1673.         IMPORT_CFM_FUNCTION PBRstFLockAsync
  1674.     ENDIF
  1675.  
  1676. ;
  1677. ; pascal OSErr PBSetFVersSync(ParmBlkPtr paramBlock)
  1678. ;
  1679.     IF ¨ GENERATINGCFM THEN
  1680.         ; parameters:
  1681.         ;    paramBlock      => A0
  1682.         ; returns:
  1683.         ;    OSErr           <= D0
  1684.         _PBSetFVersSync:    OPWORD    $A043
  1685.     ELSE
  1686.         IMPORT_CFM_FUNCTION PBSetFVersSync
  1687.     ENDIF
  1688.  
  1689. ;
  1690. ; pascal OSErr PBSetFVersAsync(ParmBlkPtr paramBlock)
  1691. ;
  1692.     IF ¨ GENERATINGCFM THEN
  1693.         ; parameters:
  1694.         ;    paramBlock      => A0
  1695.         ; returns:
  1696.         ;    OSErr           <= D0
  1697.         _PBSetFVersAsync:    OPWORD    $A443
  1698.     ELSE
  1699.         IMPORT_CFM_FUNCTION PBSetFVersAsync
  1700.     ENDIF
  1701.  
  1702. ;
  1703. ; pascal OSErr PBAllocateSync(ParmBlkPtr paramBlock)
  1704. ;
  1705.     IF ¨ GENERATINGCFM THEN
  1706.         ; parameters:
  1707.         ;    paramBlock      => A0
  1708.         ; returns:
  1709.         ;    OSErr           <= D0
  1710.         _PBAllocateSync:    OPWORD    $A010
  1711.     ELSE
  1712.         IMPORT_CFM_FUNCTION PBAllocateSync
  1713.     ENDIF
  1714.  
  1715. ;
  1716. ; pascal OSErr PBAllocateAsync(ParmBlkPtr paramBlock)
  1717. ;
  1718.     IF ¨ GENERATINGCFM THEN
  1719.         ; parameters:
  1720.         ;    paramBlock      => A0
  1721.         ; returns:
  1722.         ;    OSErr           <= D0
  1723.         _PBAllocateAsync:    OPWORD    $A410
  1724.     ELSE
  1725.         IMPORT_CFM_FUNCTION PBAllocateAsync
  1726.     ENDIF
  1727.  
  1728. ;
  1729. ; pascal OSErr PBGetEOFSync(ParmBlkPtr paramBlock)
  1730. ;
  1731.     IF ¨ GENERATINGCFM THEN
  1732.         ; parameters:
  1733.         ;    paramBlock      => A0
  1734.         ; returns:
  1735.         ;    OSErr           <= D0
  1736.         _PBGetEOFSync:    OPWORD    $A011
  1737.     ELSE
  1738.         IMPORT_CFM_FUNCTION PBGetEOFSync
  1739.     ENDIF
  1740.  
  1741. ;
  1742. ; pascal OSErr PBGetEOFAsync(ParmBlkPtr paramBlock)
  1743. ;
  1744.     IF ¨ GENERATINGCFM THEN
  1745.         ; parameters:
  1746.         ;    paramBlock      => A0
  1747.         ; returns:
  1748.         ;    OSErr           <= D0
  1749.         _PBGetEOFAsync:    OPWORD    $A411
  1750.     ELSE
  1751.         IMPORT_CFM_FUNCTION PBGetEOFAsync
  1752.     ENDIF
  1753.  
  1754. ;
  1755. ; pascal OSErr PBSetEOFSync(ParmBlkPtr paramBlock)
  1756. ;
  1757.     IF ¨ GENERATINGCFM THEN
  1758.         ; parameters:
  1759.         ;    paramBlock      => A0
  1760.         ; returns:
  1761.         ;    OSErr           <= D0
  1762.         _PBSetEOFSync:    OPWORD    $A012
  1763.     ELSE
  1764.         IMPORT_CFM_FUNCTION PBSetEOFSync
  1765.     ENDIF
  1766.  
  1767. ;
  1768. ; pascal OSErr PBSetEOFAsync(ParmBlkPtr paramBlock)
  1769. ;
  1770.     IF ¨ GENERATINGCFM THEN
  1771.         ; parameters:
  1772.         ;    paramBlock      => A0
  1773.         ; returns:
  1774.         ;    OSErr           <= D0
  1775.         _PBSetEOFAsync:    OPWORD    $A412
  1776.     ELSE
  1777.         IMPORT_CFM_FUNCTION PBSetEOFAsync
  1778.     ENDIF
  1779.  
  1780. ;
  1781. ; pascal OSErr PBGetFPosSync(ParmBlkPtr paramBlock)
  1782. ;
  1783.     IF ¨ GENERATINGCFM THEN
  1784.         ; parameters:
  1785.         ;    paramBlock      => A0
  1786.         ; returns:
  1787.         ;    OSErr           <= D0
  1788.         _PBGetFPosSync:    OPWORD    $A018
  1789.     ELSE
  1790.         IMPORT_CFM_FUNCTION PBGetFPosSync
  1791.     ENDIF
  1792.  
  1793. ;
  1794. ; pascal OSErr PBGetFPosAsync(ParmBlkPtr paramBlock)
  1795. ;
  1796.     IF ¨ GENERATINGCFM THEN
  1797.         ; parameters:
  1798.         ;    paramBlock      => A0
  1799.         ; returns:
  1800.         ;    OSErr           <= D0
  1801.         _PBGetFPosAsync:    OPWORD    $A418
  1802.     ELSE
  1803.         IMPORT_CFM_FUNCTION PBGetFPosAsync
  1804.     ENDIF
  1805.  
  1806. ;
  1807. ; pascal OSErr PBSetFPosSync(ParmBlkPtr paramBlock)
  1808. ;
  1809.     IF ¨ GENERATINGCFM THEN
  1810.         ; parameters:
  1811.         ;    paramBlock      => A0
  1812.         ; returns:
  1813.         ;    OSErr           <= D0
  1814.         _PBSetFPosSync:    OPWORD    $A044
  1815.     ELSE
  1816.         IMPORT_CFM_FUNCTION PBSetFPosSync
  1817.     ENDIF
  1818.  
  1819. ;
  1820. ; pascal OSErr PBSetFPosAsync(ParmBlkPtr paramBlock)
  1821. ;
  1822.     IF ¨ GENERATINGCFM THEN
  1823.         ; parameters:
  1824.         ;    paramBlock      => A0
  1825.         ; returns:
  1826.         ;    OSErr           <= D0
  1827.         _PBSetFPosAsync:    OPWORD    $A444
  1828.     ELSE
  1829.         IMPORT_CFM_FUNCTION PBSetFPosAsync
  1830.     ENDIF
  1831.  
  1832. ;
  1833. ; pascal OSErr PBFlushFileSync(ParmBlkPtr paramBlock)
  1834. ;
  1835.     IF ¨ GENERATINGCFM THEN
  1836.         ; parameters:
  1837.         ;    paramBlock      => A0
  1838.         ; returns:
  1839.         ;    OSErr           <= D0
  1840.         _PBFlushFileSync:    OPWORD    $A045
  1841.     ELSE
  1842.         IMPORT_CFM_FUNCTION PBFlushFileSync
  1843.     ENDIF
  1844.  
  1845. ;
  1846. ; pascal OSErr PBFlushFileAsync(ParmBlkPtr paramBlock)
  1847. ;
  1848.     IF ¨ GENERATINGCFM THEN
  1849.         ; parameters:
  1850.         ;    paramBlock      => A0
  1851.         ; returns:
  1852.         ;    OSErr           <= D0
  1853.         _PBFlushFileAsync:    OPWORD    $A445
  1854.     ELSE
  1855.         IMPORT_CFM_FUNCTION PBFlushFileAsync
  1856.     ENDIF
  1857.  
  1858. ;
  1859. ; pascal OSErr PBMountVol(ParmBlkPtr paramBlock)
  1860. ;
  1861.     IF ¨ GENERATINGCFM THEN
  1862.         ; parameters:
  1863.         ;    paramBlock      => A0
  1864.         ; returns:
  1865.         ;    OSErr           <= D0
  1866.         _PBMountVol:    OPWORD    $A00F
  1867.     ELSE
  1868.         IMPORT_CFM_FUNCTION PBMountVol
  1869.     ENDIF
  1870.  
  1871. ;
  1872. ; pascal OSErr PBUnmountVol(ParmBlkPtr paramBlock)
  1873. ;
  1874.     IF ¨ GENERATINGCFM THEN
  1875.         ; parameters:
  1876.         ;    paramBlock      => A0
  1877.         ; returns:
  1878.         ;    OSErr           <= D0
  1879.         _PBUnmountVol:    OPWORD    $A00E
  1880.     ELSE
  1881.         IMPORT_CFM_FUNCTION PBUnmountVol
  1882.     ENDIF
  1883.  
  1884.     IF FOR_SYSTEM7_ONLY THEN
  1885. ;
  1886. ; pascal OSErr PBUnmountVolImmed(ParmBlkPtr paramBlock)
  1887. ;
  1888.     IF ¨ GENERATINGCFM THEN
  1889.         ; parameters:
  1890.         ;    paramBlock      => A0
  1891.         ; returns:
  1892.         ;    OSErr           <= D0
  1893.         _PBUnmountVolImmed:    OPWORD    $A20E
  1894.     ELSE
  1895.         IMPORT_CFM_FUNCTION PBUnmountVolImmed
  1896.     ENDIF
  1897.  
  1898.     ENDIF
  1899. ;
  1900. ; pascal OSErr PBEject(ParmBlkPtr paramBlock)
  1901. ;
  1902.     IF ¨ GENERATINGCFM THEN
  1903.         ; parameters:
  1904.         ;    paramBlock      => A0
  1905.         ; returns:
  1906.         ;    OSErr           <= D0
  1907.         _PBEject:    OPWORD    $A017
  1908.     ELSE
  1909.         IMPORT_CFM_FUNCTION PBEject
  1910.     ENDIF
  1911.  
  1912. ;
  1913. ; pascal OSErr PBOffLine(ParmBlkPtr paramBlock)
  1914. ;
  1915.     IF ¨ GENERATINGCFM THEN
  1916.         ; parameters:
  1917.         ;    paramBlock      => A0
  1918.         ; returns:
  1919.         ;    OSErr           <= D0
  1920.         _PBOffLine:    OPWORD    $A035
  1921.     ELSE
  1922.         IMPORT_CFM_FUNCTION PBOffLine
  1923.     ENDIF
  1924.  
  1925. ;
  1926. ; pascal OSErr PBCatSearchSync(CSParamPtr paramBlock)
  1927. ;
  1928.     IF ¨ GENERATINGCFM THEN
  1929.         ; parameters:
  1930.         ;    paramBlock      => A0
  1931.         ; returns:
  1932.         ;    OSErr           <= D0
  1933.         Macro
  1934.         _PBCatSearchSync
  1935.             moveq               #24,D0
  1936.             dc.w                $A260
  1937.         EndM
  1938.     ELSE
  1939.         IMPORT_CFM_FUNCTION PBCatSearchSync
  1940.     ENDIF
  1941.  
  1942. ;
  1943. ; pascal OSErr PBCatSearchAsync(CSParamPtr paramBlock)
  1944. ;
  1945.     IF ¨ GENERATINGCFM THEN
  1946.         ; parameters:
  1947.         ;    paramBlock      => A0
  1948.         ; returns:
  1949.         ;    OSErr           <= D0
  1950.         Macro
  1951.         _PBCatSearchAsync
  1952.             moveq               #24,D0
  1953.             dc.w                $A660
  1954.         EndM
  1955.     ELSE
  1956.         IMPORT_CFM_FUNCTION PBCatSearchAsync
  1957.     ENDIF
  1958.  
  1959. ;
  1960. ; pascal OSErr SetVol(ConstStr63Param volName, short vRefNum)
  1961. ;
  1962.     IF GENERATINGCFM THEN
  1963.         IMPORT_CFM_FUNCTION SetVol
  1964.     ENDIF
  1965.  
  1966. ;
  1967. ; pascal OSErr UnmountVol(ConstStr63Param volName, short vRefNum)
  1968. ;
  1969.     IF GENERATINGCFM THEN
  1970.         IMPORT_CFM_FUNCTION UnmountVol
  1971.     ENDIF
  1972.  
  1973. ;
  1974. ; pascal OSErr Eject(ConstStr63Param volName, short vRefNum)
  1975. ;
  1976.     IF GENERATINGCFM THEN
  1977.         IMPORT_CFM_FUNCTION Eject
  1978.     ENDIF
  1979.  
  1980. ;
  1981. ; pascal OSErr FlushVol(ConstStr63Param volName, short vRefNum)
  1982. ;
  1983.     IF GENERATINGCFM THEN
  1984.         IMPORT_CFM_FUNCTION FlushVol
  1985.     ENDIF
  1986.  
  1987. ;
  1988. ; pascal OSErr HSetVol(ConstStr63Param volName, short vRefNum, long dirID)
  1989. ;
  1990.     IF GENERATINGCFM THEN
  1991.         IMPORT_CFM_FUNCTION HSetVol
  1992.     ENDIF
  1993.  
  1994.     IF OLDROUTINELOCATIONS THEN
  1995. ;
  1996. ; pascal void AddDrive(short drvrRefNum, short drvNum, DrvQElPtr qEl)
  1997. ;
  1998.     IF GENERATINGCFM THEN
  1999.         IMPORT_CFM_FUNCTION AddDrive
  2000.     ENDIF
  2001.  
  2002.     ENDIF
  2003. ;
  2004. ; pascal OSErr FSOpen(ConstStr255Param fileName, short vRefNum, short *refNum)
  2005. ;
  2006.     IF GENERATINGCFM THEN
  2007.         IMPORT_CFM_FUNCTION FSOpen
  2008.     ENDIF
  2009.  
  2010. ;
  2011. ; pascal OSErr OpenDF(ConstStr255Param fileName, short vRefNum, short *refNum)
  2012. ;
  2013.     IF GENERATINGCFM THEN
  2014.         IMPORT_CFM_FUNCTION OpenDF
  2015.     ENDIF
  2016.  
  2017. ;
  2018. ; pascal OSErr FSClose(short refNum)
  2019. ;
  2020.     IF GENERATINGCFM THEN
  2021.         IMPORT_CFM_FUNCTION FSClose
  2022.     ENDIF
  2023.  
  2024. ;
  2025. ; pascal OSErr FSRead(short refNum, long *count, void *buffPtr)
  2026. ;
  2027.     IF GENERATINGCFM THEN
  2028.         IMPORT_CFM_FUNCTION FSRead
  2029.     ENDIF
  2030.  
  2031. ;
  2032. ; pascal OSErr FSWrite(short refNum, long *count, const void *buffPtr)
  2033. ;
  2034.     IF GENERATINGCFM THEN
  2035.         IMPORT_CFM_FUNCTION FSWrite
  2036.     ENDIF
  2037.  
  2038. ;
  2039. ; pascal OSErr GetVInfo(short drvNum, StringPtr volName, short *vRefNum, long *freeBytes)
  2040. ;
  2041.     IF GENERATINGCFM THEN
  2042.         IMPORT_CFM_FUNCTION GetVInfo
  2043.     ENDIF
  2044.  
  2045. ;
  2046. ; pascal OSErr GetFInfo(ConstStr255Param fileName, short vRefNum, FInfo *fndrInfo)
  2047. ;
  2048.     IF GENERATINGCFM THEN
  2049.         IMPORT_CFM_FUNCTION GetFInfo
  2050.     ENDIF
  2051.  
  2052. ;
  2053. ; pascal OSErr GetVol(StringPtr volName, short *vRefNum)
  2054. ;
  2055.     IF GENERATINGCFM THEN
  2056.         IMPORT_CFM_FUNCTION GetVol
  2057.     ENDIF
  2058.  
  2059. ;
  2060. ; pascal OSErr Create(ConstStr255Param fileName, short vRefNum, OSType creator, OSType fileType)
  2061. ;
  2062.     IF GENERATINGCFM THEN
  2063.         IMPORT_CFM_FUNCTION Create
  2064.     ENDIF
  2065.  
  2066. ;
  2067. ; pascal OSErr FSDelete(ConstStr255Param fileName, short vRefNum)
  2068. ;
  2069.     IF GENERATINGCFM THEN
  2070.         IMPORT_CFM_FUNCTION FSDelete
  2071.     ENDIF
  2072.  
  2073. ;
  2074. ; pascal OSErr OpenRF(ConstStr255Param fileName, short vRefNum, short *refNum)
  2075. ;
  2076.     IF GENERATINGCFM THEN
  2077.         IMPORT_CFM_FUNCTION OpenRF
  2078.     ENDIF
  2079.  
  2080. ;
  2081. ; pascal OSErr Rename(ConstStr255Param oldName, short vRefNum, ConstStr255Param newName)
  2082. ;
  2083.     IF GENERATINGCFM THEN
  2084.         IMPORT_CFM_FUNCTION Rename
  2085.     ENDIF
  2086.  
  2087. ;
  2088. ; pascal OSErr SetFInfo(ConstStr255Param fileName, short vRefNum, const FInfo *fndrInfo)
  2089. ;
  2090.     IF GENERATINGCFM THEN
  2091.         IMPORT_CFM_FUNCTION SetFInfo
  2092.     ENDIF
  2093.  
  2094. ;
  2095. ; pascal OSErr SetFLock(ConstStr255Param fileName, short vRefNum)
  2096. ;
  2097.     IF GENERATINGCFM THEN
  2098.         IMPORT_CFM_FUNCTION SetFLock
  2099.     ENDIF
  2100.  
  2101. ;
  2102. ; pascal OSErr RstFLock(ConstStr255Param fileName, short vRefNum)
  2103. ;
  2104.     IF GENERATINGCFM THEN
  2105.         IMPORT_CFM_FUNCTION RstFLock
  2106.     ENDIF
  2107.  
  2108. ;
  2109. ; pascal OSErr Allocate(short refNum, long *count)
  2110. ;
  2111.     IF GENERATINGCFM THEN
  2112.         IMPORT_CFM_FUNCTION Allocate
  2113.     ENDIF
  2114.  
  2115. ;
  2116. ; pascal OSErr GetEOF(short refNum, long *logEOF)
  2117. ;
  2118.     IF GENERATINGCFM THEN
  2119.         IMPORT_CFM_FUNCTION GetEOF
  2120.     ENDIF
  2121.  
  2122. ;
  2123. ; pascal OSErr SetEOF(short refNum, long logEOF)
  2124. ;
  2125.     IF GENERATINGCFM THEN
  2126.         IMPORT_CFM_FUNCTION SetEOF
  2127.     ENDIF
  2128.  
  2129. ;
  2130. ; pascal OSErr GetFPos(short refNum, long *filePos)
  2131. ;
  2132.     IF GENERATINGCFM THEN
  2133.         IMPORT_CFM_FUNCTION GetFPos
  2134.     ENDIF
  2135.  
  2136. ;
  2137. ; pascal OSErr SetFPos(short refNum, short posMode, long posOff)
  2138. ;
  2139.     IF GENERATINGCFM THEN
  2140.         IMPORT_CFM_FUNCTION SetFPos
  2141.     ENDIF
  2142.  
  2143. ;
  2144. ; pascal OSErr GetVRefNum(short fileRefNum, short *vRefNum)
  2145. ;
  2146.     IF GENERATINGCFM THEN
  2147.         IMPORT_CFM_FUNCTION GetVRefNum
  2148.     ENDIF
  2149.  
  2150. ;
  2151. ; pascal OSErr PBOpenWDSync(WDPBPtr paramBlock)
  2152. ;
  2153.     IF ¨ GENERATINGCFM THEN
  2154.         ; parameters:
  2155.         ;    paramBlock      => A0
  2156.         ; returns:
  2157.         ;    OSErr           <= D0
  2158.         Macro
  2159.         _PBOpenWDSync
  2160.             moveq               #1,D0
  2161.             dc.w                $A260
  2162.         EndM
  2163.     ELSE
  2164.         IMPORT_CFM_FUNCTION PBOpenWDSync
  2165.     ENDIF
  2166.  
  2167. ;
  2168. ; pascal OSErr PBOpenWDAsync(WDPBPtr paramBlock)
  2169. ;
  2170.     IF ¨ GENERATINGCFM THEN
  2171.         ; parameters:
  2172.         ;    paramBlock      => A0
  2173.         ; returns:
  2174.         ;    OSErr           <= D0
  2175.         Macro
  2176.         _PBOpenWDAsync
  2177.             moveq               #1,D0
  2178.             dc.w                $A660
  2179.         EndM
  2180.     ELSE
  2181.         IMPORT_CFM_FUNCTION PBOpenWDAsync
  2182.     ENDIF
  2183.  
  2184. ;
  2185. ; pascal OSErr PBCloseWDSync(WDPBPtr paramBlock)
  2186. ;
  2187.     IF ¨ GENERATINGCFM THEN
  2188.         ; parameters:
  2189.         ;    paramBlock      => A0
  2190.         ; returns:
  2191.         ;    OSErr           <= D0
  2192.         Macro
  2193.         _PBCloseWDSync
  2194.             moveq               #2,D0
  2195.             dc.w                $A260
  2196.         EndM
  2197.     ELSE
  2198.         IMPORT_CFM_FUNCTION PBCloseWDSync
  2199.     ENDIF
  2200.  
  2201. ;
  2202. ; pascal OSErr PBCloseWDAsync(WDPBPtr paramBlock)
  2203. ;
  2204.     IF ¨ GENERATINGCFM THEN
  2205.         ; parameters:
  2206.         ;    paramBlock      => A0
  2207.         ; returns:
  2208.         ;    OSErr           <= D0
  2209.         Macro
  2210.         _PBCloseWDAsync
  2211.             moveq               #2,D0
  2212.             dc.w                $A660
  2213.         EndM
  2214.     ELSE
  2215.         IMPORT_CFM_FUNCTION PBCloseWDAsync
  2216.     ENDIF
  2217.  
  2218. ;
  2219. ; pascal OSErr PBHSetVolSync(WDPBPtr paramBlock)
  2220. ;
  2221.     IF ¨ GENERATINGCFM THEN
  2222.         ; parameters:
  2223.         ;    paramBlock      => A0
  2224.         ; returns:
  2225.         ;    OSErr           <= D0
  2226.         _PBHSetVolSync:    OPWORD    $A215
  2227.     ELSE
  2228.         IMPORT_CFM_FUNCTION PBHSetVolSync
  2229.     ENDIF
  2230.  
  2231. ;
  2232. ; pascal OSErr PBHSetVolAsync(WDPBPtr paramBlock)
  2233. ;
  2234.     IF ¨ GENERATINGCFM THEN
  2235.         ; parameters:
  2236.         ;    paramBlock      => A0
  2237.         ; returns:
  2238.         ;    OSErr           <= D0
  2239.         _PBHSetVolAsync:    OPWORD    $A615
  2240.     ELSE
  2241.         IMPORT_CFM_FUNCTION PBHSetVolAsync
  2242.     ENDIF
  2243.  
  2244. ;
  2245. ; pascal OSErr PBHGetVolSync(WDPBPtr paramBlock)
  2246. ;
  2247.     IF ¨ GENERATINGCFM THEN
  2248.         ; parameters:
  2249.         ;    paramBlock      => A0
  2250.         ; returns:
  2251.         ;    OSErr           <= D0
  2252.         _PBHGetVolSync:    OPWORD    $A214
  2253.     ELSE
  2254.         IMPORT_CFM_FUNCTION PBHGetVolSync
  2255.     ENDIF
  2256.  
  2257. ;
  2258. ; pascal OSErr PBHGetVolAsync(WDPBPtr paramBlock)
  2259. ;
  2260.     IF ¨ GENERATINGCFM THEN
  2261.         ; parameters:
  2262.         ;    paramBlock      => A0
  2263.         ; returns:
  2264.         ;    OSErr           <= D0
  2265.         _PBHGetVolAsync:    OPWORD    $A614
  2266.     ELSE
  2267.         IMPORT_CFM_FUNCTION PBHGetVolAsync
  2268.     ENDIF
  2269.  
  2270. ;
  2271. ; pascal OSErr PBCatMoveSync(CMovePBPtr paramBlock)
  2272. ;
  2273.     IF ¨ GENERATINGCFM THEN
  2274.         ; parameters:
  2275.         ;    paramBlock      => A0
  2276.         ; returns:
  2277.         ;    OSErr           <= D0
  2278.         Macro
  2279.         _PBCatMoveSync
  2280.             moveq               #5,D0
  2281.             dc.w                $A260
  2282.         EndM
  2283.     ELSE
  2284.         IMPORT_CFM_FUNCTION PBCatMoveSync
  2285.     ENDIF
  2286.  
  2287. ;
  2288. ; pascal OSErr PBCatMoveAsync(CMovePBPtr paramBlock)
  2289. ;
  2290.     IF ¨ GENERATINGCFM THEN
  2291.         ; parameters:
  2292.         ;    paramBlock      => A0
  2293.         ; returns:
  2294.         ;    OSErr           <= D0
  2295.         Macro
  2296.         _PBCatMoveAsync
  2297.             moveq               #5,D0
  2298.             dc.w                $A660
  2299.         EndM
  2300.     ELSE
  2301.         IMPORT_CFM_FUNCTION PBCatMoveAsync
  2302.     ENDIF
  2303.  
  2304. ;
  2305. ; pascal OSErr PBDirCreateSync(HParmBlkPtr paramBlock)
  2306. ;
  2307.     IF ¨ GENERATINGCFM THEN
  2308.         ; parameters:
  2309.         ;    paramBlock      => A0
  2310.         ; returns:
  2311.         ;    OSErr           <= D0
  2312.         Macro
  2313.         _PBDirCreateSync
  2314.             moveq               #6,D0
  2315.             dc.w                $A260
  2316.         EndM
  2317.     ELSE
  2318.         IMPORT_CFM_FUNCTION PBDirCreateSync
  2319.     ENDIF
  2320.  
  2321. ;
  2322. ; pascal OSErr PBDirCreateAsync(HParmBlkPtr paramBlock)
  2323. ;
  2324.     IF ¨ GENERATINGCFM THEN
  2325.         ; parameters:
  2326.         ;    paramBlock      => A0
  2327.         ; returns:
  2328.         ;    OSErr           <= D0
  2329.         Macro
  2330.         _PBDirCreateAsync
  2331.             moveq               #6,D0
  2332.             dc.w                $A660
  2333.         EndM
  2334.     ELSE
  2335.         IMPORT_CFM_FUNCTION PBDirCreateAsync
  2336.     ENDIF
  2337.  
  2338. ;
  2339. ; pascal OSErr PBGetWDInfoSync(WDPBPtr paramBlock)
  2340. ;
  2341.     IF ¨ GENERATINGCFM THEN
  2342.         ; parameters:
  2343.         ;    paramBlock      => A0
  2344.         ; returns:
  2345.         ;    OSErr           <= D0
  2346.         Macro
  2347.         _PBGetWDInfoSync
  2348.             moveq               #7,D0
  2349.             dc.w                $A260
  2350.         EndM
  2351.     ELSE
  2352.         IMPORT_CFM_FUNCTION PBGetWDInfoSync
  2353.     ENDIF
  2354.  
  2355. ;
  2356. ; pascal OSErr PBGetWDInfoAsync(WDPBPtr paramBlock)
  2357. ;
  2358.     IF ¨ GENERATINGCFM THEN
  2359.         ; parameters:
  2360.         ;    paramBlock      => A0
  2361.         ; returns:
  2362.         ;    OSErr           <= D0
  2363.         Macro
  2364.         _PBGetWDInfoAsync
  2365.             moveq               #7,D0
  2366.             dc.w                $A660
  2367.         EndM
  2368.     ELSE
  2369.         IMPORT_CFM_FUNCTION PBGetWDInfoAsync
  2370.     ENDIF
  2371.  
  2372. ;
  2373. ; pascal OSErr PBGetFCBInfoSync(FCBPBPtr paramBlock)
  2374. ;
  2375.     IF ¨ GENERATINGCFM THEN
  2376.         ; parameters:
  2377.         ;    paramBlock      => A0
  2378.         ; returns:
  2379.         ;    OSErr           <= D0
  2380.         Macro
  2381.         _PBGetFCBInfoSync
  2382.             moveq               #8,D0
  2383.             dc.w                $A260
  2384.         EndM
  2385.     ELSE
  2386.         IMPORT_CFM_FUNCTION PBGetFCBInfoSync
  2387.     ENDIF
  2388.  
  2389. ;
  2390. ; pascal OSErr PBGetFCBInfoAsync(FCBPBPtr paramBlock)
  2391. ;
  2392.     IF ¨ GENERATINGCFM THEN
  2393.         ; parameters:
  2394.         ;    paramBlock      => A0
  2395.         ; returns:
  2396.         ;    OSErr           <= D0
  2397.         Macro
  2398.         _PBGetFCBInfoAsync
  2399.             moveq               #8,D0
  2400.             dc.w                $A660
  2401.         EndM
  2402.     ELSE
  2403.         IMPORT_CFM_FUNCTION PBGetFCBInfoAsync
  2404.     ENDIF
  2405.  
  2406. ;
  2407. ; pascal OSErr PBGetCatInfoSync(CInfoPBPtr paramBlock)
  2408. ;
  2409.     IF ¨ GENERATINGCFM THEN
  2410.         ; parameters:
  2411.         ;    paramBlock      => A0
  2412.         ; returns:
  2413.         ;    OSErr           <= D0
  2414.         Macro
  2415.         _PBGetCatInfoSync
  2416.             moveq               #9,D0
  2417.             dc.w                $A260
  2418.         EndM
  2419.     ELSE
  2420.         IMPORT_CFM_FUNCTION PBGetCatInfoSync
  2421.     ENDIF
  2422.  
  2423. ;
  2424. ; pascal OSErr PBGetCatInfoAsync(CInfoPBPtr paramBlock)
  2425. ;
  2426.     IF ¨ GENERATINGCFM THEN
  2427.         ; parameters:
  2428.         ;    paramBlock      => A0
  2429.         ; returns:
  2430.         ;    OSErr           <= D0
  2431.         Macro
  2432.         _PBGetCatInfoAsync
  2433.             moveq               #9,D0
  2434.             dc.w                $A660
  2435.         EndM
  2436.     ELSE
  2437.         IMPORT_CFM_FUNCTION PBGetCatInfoAsync
  2438.     ENDIF
  2439.  
  2440. ;
  2441. ; pascal OSErr PBSetCatInfoSync(CInfoPBPtr paramBlock)
  2442. ;
  2443.     IF ¨ GENERATINGCFM THEN
  2444.         ; parameters:
  2445.         ;    paramBlock      => A0
  2446.         ; returns:
  2447.         ;    OSErr           <= D0
  2448.         Macro
  2449.         _PBSetCatInfoSync
  2450.             moveq               #10,D0
  2451.             dc.w                $A260
  2452.         EndM
  2453.     ELSE
  2454.         IMPORT_CFM_FUNCTION PBSetCatInfoSync
  2455.     ENDIF
  2456.  
  2457. ;
  2458. ; pascal OSErr PBSetCatInfoAsync(CInfoPBPtr paramBlock)
  2459. ;
  2460.     IF ¨ GENERATINGCFM THEN
  2461.         ; parameters:
  2462.         ;    paramBlock      => A0
  2463.         ; returns:
  2464.         ;    OSErr           <= D0
  2465.         Macro
  2466.         _PBSetCatInfoAsync
  2467.             moveq               #10,D0
  2468.             dc.w                $A660
  2469.         EndM
  2470.     ELSE
  2471.         IMPORT_CFM_FUNCTION PBSetCatInfoAsync
  2472.     ENDIF
  2473.  
  2474. ;
  2475. ; pascal OSErr PBAllocContigSync(ParmBlkPtr paramBlock)
  2476. ;
  2477.     IF ¨ GENERATINGCFM THEN
  2478.         ; parameters:
  2479.         ;    paramBlock      => A0
  2480.         ; returns:
  2481.         ;    OSErr           <= D0
  2482.         _PBAllocContigSync:    OPWORD    $A210
  2483.     ELSE
  2484.         IMPORT_CFM_FUNCTION PBAllocContigSync
  2485.     ENDIF
  2486.  
  2487. ;
  2488. ; pascal OSErr PBAllocContigAsync(ParmBlkPtr paramBlock)
  2489. ;
  2490.     IF ¨ GENERATINGCFM THEN
  2491.         ; parameters:
  2492.         ;    paramBlock      => A0
  2493.         ; returns:
  2494.         ;    OSErr           <= D0
  2495.         _PBAllocContigAsync:    OPWORD    $A610
  2496.     ELSE
  2497.         IMPORT_CFM_FUNCTION PBAllocContigAsync
  2498.     ENDIF
  2499.  
  2500. ;
  2501. ; pascal OSErr PBLockRangeSync(ParmBlkPtr paramBlock)
  2502. ;
  2503.     IF ¨ GENERATINGCFM THEN
  2504.         ; parameters:
  2505.         ;    paramBlock      => A0
  2506.         ; returns:
  2507.         ;    OSErr           <= D0
  2508.         Macro
  2509.         _PBLockRangeSync
  2510.             moveq               #16,D0
  2511.             dc.w                $A260
  2512.         EndM
  2513.     ELSE
  2514.         IMPORT_CFM_FUNCTION PBLockRangeSync
  2515.     ENDIF
  2516.  
  2517. ;
  2518. ; pascal OSErr PBLockRangeAsync(ParmBlkPtr paramBlock)
  2519. ;
  2520.     IF ¨ GENERATINGCFM THEN
  2521.         ; parameters:
  2522.         ;    paramBlock      => A0
  2523.         ; returns:
  2524.         ;    OSErr           <= D0
  2525.         Macro
  2526.         _PBLockRangeAsync
  2527.             moveq               #16,D0
  2528.             dc.w                $A660
  2529.         EndM
  2530.     ELSE
  2531.         IMPORT_CFM_FUNCTION PBLockRangeAsync
  2532.     ENDIF
  2533.  
  2534. ;
  2535. ; pascal OSErr PBUnlockRangeSync(ParmBlkPtr paramBlock)
  2536. ;
  2537.     IF ¨ GENERATINGCFM THEN
  2538.         ; parameters:
  2539.         ;    paramBlock      => A0
  2540.         ; returns:
  2541.         ;    OSErr           <= D0
  2542.         Macro
  2543.         _PBUnlockRangeSync
  2544.             moveq               #17,D0
  2545.             dc.w                $A260
  2546.         EndM
  2547.     ELSE
  2548.         IMPORT_CFM_FUNCTION PBUnlockRangeSync
  2549.     ENDIF
  2550.  
  2551. ;
  2552. ; pascal OSErr PBUnlockRangeAsync(ParmBlkPtr paramBlock)
  2553. ;
  2554.     IF ¨ GENERATINGCFM THEN
  2555.         ; parameters:
  2556.         ;    paramBlock      => A0
  2557.         ; returns:
  2558.         ;    OSErr           <= D0
  2559.         Macro
  2560.         _PBUnlockRangeAsync
  2561.             moveq               #17,D0
  2562.             dc.w                $A660
  2563.         EndM
  2564.     ELSE
  2565.         IMPORT_CFM_FUNCTION PBUnlockRangeAsync
  2566.     ENDIF
  2567.  
  2568. ;
  2569. ; pascal OSErr PBSetVInfoSync(HParmBlkPtr paramBlock)
  2570. ;
  2571.     IF ¨ GENERATINGCFM THEN
  2572.         ; parameters:
  2573.         ;    paramBlock      => A0
  2574.         ; returns:
  2575.         ;    OSErr           <= D0
  2576.         Macro
  2577.         _PBSetVInfoSync
  2578.             moveq               #11,D0
  2579.             dc.w                $A260
  2580.         EndM
  2581.     ELSE
  2582.         IMPORT_CFM_FUNCTION PBSetVInfoSync
  2583.     ENDIF
  2584.  
  2585. ;
  2586. ; pascal OSErr PBSetVInfoAsync(HParmBlkPtr paramBlock)
  2587. ;
  2588.     IF ¨ GENERATINGCFM THEN
  2589.         ; parameters:
  2590.         ;    paramBlock      => A0
  2591.         ; returns:
  2592.         ;    OSErr           <= D0
  2593.         Macro
  2594.         _PBSetVInfoAsync
  2595.             moveq               #11,D0
  2596.             dc.w                $A660
  2597.         EndM
  2598.     ELSE
  2599.         IMPORT_CFM_FUNCTION PBSetVInfoAsync
  2600.     ENDIF
  2601.  
  2602. ;
  2603. ; pascal OSErr PBHGetVInfoSync(HParmBlkPtr paramBlock)
  2604. ;
  2605.     IF ¨ GENERATINGCFM THEN
  2606.         ; parameters:
  2607.         ;    paramBlock      => A0
  2608.         ; returns:
  2609.         ;    OSErr           <= D0
  2610.         _PBHGetVInfoSync:    OPWORD    $A207
  2611.     ELSE
  2612.         IMPORT_CFM_FUNCTION PBHGetVInfoSync
  2613.     ENDIF
  2614.  
  2615. ;
  2616. ; pascal OSErr PBHGetVInfoAsync(HParmBlkPtr paramBlock)
  2617. ;
  2618.     IF ¨ GENERATINGCFM THEN
  2619.         ; parameters:
  2620.         ;    paramBlock      => A0
  2621.         ; returns:
  2622.         ;    OSErr           <= D0
  2623.         _PBHGetVInfoAsync:    OPWORD    $A607
  2624.     ELSE
  2625.         IMPORT_CFM_FUNCTION PBHGetVInfoAsync
  2626.     ENDIF
  2627.  
  2628. ;
  2629. ; pascal OSErr PBHOpenSync(HParmBlkPtr paramBlock)
  2630. ;
  2631.     IF ¨ GENERATINGCFM THEN
  2632.         ; parameters:
  2633.         ;    paramBlock      => A0
  2634.         ; returns:
  2635.         ;    OSErr           <= D0
  2636.         _PBHOpenSync:    OPWORD    $A200
  2637.     ELSE
  2638.         IMPORT_CFM_FUNCTION PBHOpenSync
  2639.     ENDIF
  2640.  
  2641. ;
  2642. ; pascal OSErr PBHOpenAsync(HParmBlkPtr paramBlock)
  2643. ;
  2644.     IF ¨ GENERATINGCFM THEN
  2645.         ; parameters:
  2646.         ;    paramBlock      => A0
  2647.         ; returns:
  2648.         ;    OSErr           <= D0
  2649.         _PBHOpenAsync:    OPWORD    $A600
  2650.     ELSE
  2651.         IMPORT_CFM_FUNCTION PBHOpenAsync
  2652.     ENDIF
  2653.  
  2654. ;
  2655. ; pascal OSErr PBHOpenRFSync(HParmBlkPtr paramBlock)
  2656. ;
  2657.     IF ¨ GENERATINGCFM THEN
  2658.         ; parameters:
  2659.         ;    paramBlock      => A0
  2660.         ; returns:
  2661.         ;    OSErr           <= D0
  2662.         _PBHOpenRFSync:    OPWORD    $A20A
  2663.     ELSE
  2664.         IMPORT_CFM_FUNCTION PBHOpenRFSync
  2665.     ENDIF
  2666.  
  2667. ;
  2668. ; pascal OSErr PBHOpenRFAsync(HParmBlkPtr paramBlock)
  2669. ;
  2670.     IF ¨ GENERATINGCFM THEN
  2671.         ; parameters:
  2672.         ;    paramBlock      => A0
  2673.         ; returns:
  2674.         ;    OSErr           <= D0
  2675.         _PBHOpenRFAsync:    OPWORD    $A60A
  2676.     ELSE
  2677.         IMPORT_CFM_FUNCTION PBHOpenRFAsync
  2678.     ENDIF
  2679.  
  2680. ;
  2681. ; pascal OSErr PBHOpenDFSync(HParmBlkPtr paramBlock)
  2682. ;
  2683.     IF ¨ GENERATINGCFM THEN
  2684.         ; parameters:
  2685.         ;    paramBlock      => A0
  2686.         ; returns:
  2687.         ;    OSErr           <= D0
  2688.         Macro
  2689.         _PBHOpenDFSync
  2690.             moveq               #26,D0
  2691.             dc.w                $A260
  2692.         EndM
  2693.     ELSE
  2694.         IMPORT_CFM_FUNCTION PBHOpenDFSync
  2695.     ENDIF
  2696.  
  2697. ;
  2698. ; pascal OSErr PBHOpenDFAsync(HParmBlkPtr paramBlock)
  2699. ;
  2700.     IF ¨ GENERATINGCFM THEN
  2701.         ; parameters:
  2702.         ;    paramBlock      => A0
  2703.         ; returns:
  2704.         ;    OSErr           <= D0
  2705.         Macro
  2706.         _PBHOpenDFAsync
  2707.             moveq               #26,D0
  2708.             dc.w                $A660
  2709.         EndM
  2710.     ELSE
  2711.         IMPORT_CFM_FUNCTION PBHOpenDFAsync
  2712.     ENDIF
  2713.  
  2714. ;
  2715. ; pascal OSErr PBHCreateSync(HParmBlkPtr paramBlock)
  2716. ;
  2717.     IF ¨ GENERATINGCFM THEN
  2718.         ; parameters:
  2719.         ;    paramBlock      => A0
  2720.         ; returns:
  2721.         ;    OSErr           <= D0
  2722.         _PBHCreateSync:    OPWORD    $A208
  2723.     ELSE
  2724.         IMPORT_CFM_FUNCTION PBHCreateSync
  2725.     ENDIF
  2726.  
  2727. ;
  2728. ; pascal OSErr PBHCreateAsync(HParmBlkPtr paramBlock)
  2729. ;
  2730.     IF ¨ GENERATINGCFM THEN
  2731.         ; parameters:
  2732.         ;    paramBlock      => A0
  2733.         ; returns:
  2734.         ;    OSErr           <= D0
  2735.         _PBHCreateAsync:    OPWORD    $A608
  2736.     ELSE
  2737.         IMPORT_CFM_FUNCTION PBHCreateAsync
  2738.     ENDIF
  2739.  
  2740. ;
  2741. ; pascal OSErr PBHDeleteSync(HParmBlkPtr paramBlock)
  2742. ;
  2743.     IF ¨ GENERATINGCFM THEN
  2744.         ; parameters:
  2745.         ;    paramBlock      => A0
  2746.         ; returns:
  2747.         ;    OSErr           <= D0
  2748.         _PBHDeleteSync:    OPWORD    $A209
  2749.     ELSE
  2750.         IMPORT_CFM_FUNCTION PBHDeleteSync
  2751.     ENDIF
  2752.  
  2753. ;
  2754. ; pascal OSErr PBHDeleteAsync(HParmBlkPtr paramBlock)
  2755. ;
  2756.     IF ¨ GENERATINGCFM THEN
  2757.         ; parameters:
  2758.         ;    paramBlock      => A0
  2759.         ; returns:
  2760.         ;    OSErr           <= D0
  2761.         _PBHDeleteAsync:    OPWORD    $A609
  2762.     ELSE
  2763.         IMPORT_CFM_FUNCTION PBHDeleteAsync
  2764.     ENDIF
  2765.  
  2766. ;
  2767. ; pascal OSErr PBHRenameSync(HParmBlkPtr paramBlock)
  2768. ;
  2769.     IF ¨ GENERATINGCFM THEN
  2770.         ; parameters:
  2771.         ;    paramBlock      => A0
  2772.         ; returns:
  2773.         ;    OSErr           <= D0
  2774.         _PBHRenameSync:    OPWORD    $A20B
  2775.     ELSE
  2776.         IMPORT_CFM_FUNCTION PBHRenameSync
  2777.     ENDIF
  2778.  
  2779. ;
  2780. ; pascal OSErr PBHRenameAsync(HParmBlkPtr paramBlock)
  2781. ;
  2782.     IF ¨ GENERATINGCFM THEN
  2783.         ; parameters:
  2784.         ;    paramBlock      => A0
  2785.         ; returns:
  2786.         ;    OSErr           <= D0
  2787.         _PBHRenameAsync:    OPWORD    $A60B
  2788.     ELSE
  2789.         IMPORT_CFM_FUNCTION PBHRenameAsync
  2790.     ENDIF
  2791.  
  2792. ;
  2793. ; pascal OSErr PBHRstFLockSync(HParmBlkPtr paramBlock)
  2794. ;
  2795.     IF ¨ GENERATINGCFM THEN
  2796.         ; parameters:
  2797.         ;    paramBlock      => A0
  2798.         ; returns:
  2799.         ;    OSErr           <= D0
  2800.         _PBHRstFLockSync:    OPWORD    $A242
  2801.     ELSE
  2802.         IMPORT_CFM_FUNCTION PBHRstFLockSync
  2803.     ENDIF
  2804.  
  2805. ;
  2806. ; pascal OSErr PBHRstFLockAsync(HParmBlkPtr paramBlock)
  2807. ;
  2808.     IF ¨ GENERATINGCFM THEN
  2809.         ; parameters:
  2810.         ;    paramBlock      => A0
  2811.         ; returns:
  2812.         ;    OSErr           <= D0
  2813.         _PBHRstFLockAsync:    OPWORD    $A642
  2814.     ELSE
  2815.         IMPORT_CFM_FUNCTION PBHRstFLockAsync
  2816.     ENDIF
  2817.  
  2818. ;
  2819. ; pascal OSErr PBHSetFLockSync(HParmBlkPtr paramBlock)
  2820. ;
  2821.     IF ¨ GENERATINGCFM THEN
  2822.         ; parameters:
  2823.         ;    paramBlock      => A0
  2824.         ; returns:
  2825.         ;    OSErr           <= D0
  2826.         _PBHSetFLockSync:    OPWORD    $A241
  2827.     ELSE
  2828.         IMPORT_CFM_FUNCTION PBHSetFLockSync
  2829.     ENDIF
  2830.  
  2831. ;
  2832. ; pascal OSErr PBHSetFLockAsync(HParmBlkPtr paramBlock)
  2833. ;
  2834.     IF ¨ GENERATINGCFM THEN
  2835.         ; parameters:
  2836.         ;    paramBlock      => A0
  2837.         ; returns:
  2838.         ;    OSErr           <= D0
  2839.         _PBHSetFLockAsync:    OPWORD    $A641
  2840.     ELSE
  2841.         IMPORT_CFM_FUNCTION PBHSetFLockAsync
  2842.     ENDIF
  2843.  
  2844. ;
  2845. ; pascal OSErr PBHGetFInfoSync(HParmBlkPtr paramBlock)
  2846. ;
  2847.     IF ¨ GENERATINGCFM THEN
  2848.         ; parameters:
  2849.         ;    paramBlock      => A0
  2850.         ; returns:
  2851.         ;    OSErr           <= D0
  2852.         _PBHGetFInfoSync:    OPWORD    $A20C
  2853.     ELSE
  2854.         IMPORT_CFM_FUNCTION PBHGetFInfoSync
  2855.     ENDIF
  2856.  
  2857. ;
  2858. ; pascal OSErr PBHGetFInfoAsync(HParmBlkPtr paramBlock)
  2859. ;
  2860.     IF ¨ GENERATINGCFM THEN
  2861.         ; parameters:
  2862.         ;    paramBlock      => A0
  2863.         ; returns:
  2864.         ;    OSErr           <= D0
  2865.         _PBHGetFInfoAsync:    OPWORD    $A60C
  2866.     ELSE
  2867.         IMPORT_CFM_FUNCTION PBHGetFInfoAsync
  2868.     ENDIF
  2869.  
  2870. ;
  2871. ; pascal OSErr PBHSetFInfoSync(HParmBlkPtr paramBlock)
  2872. ;
  2873.     IF ¨ GENERATINGCFM THEN
  2874.         ; parameters:
  2875.         ;    paramBlock      => A0
  2876.         ; returns:
  2877.         ;    OSErr           <= D0
  2878.         _PBHSetFInfoSync:    OPWORD    $A20D
  2879.     ELSE
  2880.         IMPORT_CFM_FUNCTION PBHSetFInfoSync
  2881.     ENDIF
  2882.  
  2883. ;
  2884. ; pascal OSErr PBHSetFInfoAsync(HParmBlkPtr paramBlock)
  2885. ;
  2886.     IF ¨ GENERATINGCFM THEN
  2887.         ; parameters:
  2888.         ;    paramBlock      => A0
  2889.         ; returns:
  2890.         ;    OSErr           <= D0
  2891.         _PBHSetFInfoAsync:    OPWORD    $A60D
  2892.     ELSE
  2893.         IMPORT_CFM_FUNCTION PBHSetFInfoAsync
  2894.     ENDIF
  2895.  
  2896. ;
  2897. ; pascal OSErr PBMakeFSSpecSync(HParmBlkPtr paramBlock)
  2898. ;
  2899.     IF ¨ GENERATINGCFM THEN
  2900.         ; parameters:
  2901.         ;    paramBlock      => A0
  2902.         ; returns:
  2903.         ;    OSErr           <= D0
  2904.         Macro
  2905.         _PBMakeFSSpecSync
  2906.             moveq               #27,D0
  2907.             dc.w                $A260
  2908.         EndM
  2909.     ELSE
  2910.         IMPORT_CFM_FUNCTION PBMakeFSSpecSync
  2911.     ENDIF
  2912.  
  2913. ;
  2914. ; pascal OSErr PBMakeFSSpecAsync(HParmBlkPtr paramBlock)
  2915. ;
  2916.     IF ¨ GENERATINGCFM THEN
  2917.         ; parameters:
  2918.         ;    paramBlock      => A0
  2919.         ; returns:
  2920.         ;    OSErr           <= D0
  2921.         Macro
  2922.         _PBMakeFSSpecAsync
  2923.             moveq               #27,D0
  2924.             dc.w                $A660
  2925.         EndM
  2926.     ELSE
  2927.         IMPORT_CFM_FUNCTION PBMakeFSSpecAsync
  2928.     ENDIF
  2929.  
  2930. ;
  2931. ; pascal void FInitQueue(void )
  2932. ;
  2933.     IF ¨ GENERATINGCFM THEN
  2934.         _FInitQueue:    OPWORD    $A016
  2935.     ELSE
  2936.         IMPORT_CFM_FUNCTION FInitQueue
  2937.     ENDIF
  2938.  
  2939. ;
  2940. ; pascal QHdrPtr GetFSQHdr(void )
  2941. ;
  2942.     IF ¨ GENERATINGCFM THEN
  2943.         Macro
  2944.         _GetFSQHdr            &dest=(sp)
  2945.             move.l            #$00000360,&dest
  2946.         EndM
  2947.     ELSE
  2948.         IMPORT_CFM_FUNCTION GetFSQHdr
  2949.     ENDIF
  2950.  
  2951. ;
  2952. ; pascal QHdrPtr GetVCBQHdr(void )
  2953. ;
  2954.     IF ¨ GENERATINGCFM THEN
  2955.         Macro
  2956.         _GetVCBQHdr           &dest=(sp)
  2957.             move.l            #$00000356,&dest
  2958.         EndM
  2959.     ELSE
  2960.         IMPORT_CFM_FUNCTION GetVCBQHdr
  2961.     ENDIF
  2962.  
  2963.     IF OLDROUTINELOCATIONS THEN
  2964. ;
  2965. ; pascal QHdrPtr GetDrvQHdr(void )
  2966. ;
  2967.     IF ¨ GENERATINGCFM THEN
  2968.         Macro
  2969.         _GetDrvQHdr           &dest=(sp)
  2970.             move.l            #$00000308,&dest
  2971.         EndM
  2972.     ELSE
  2973.         IMPORT_CFM_FUNCTION GetDrvQHdr
  2974.     ENDIF
  2975.  
  2976.     ENDIF
  2977. ;
  2978. ; pascal OSErr HGetVol(StringPtr volName, short *vRefNum, long *dirID)
  2979. ;
  2980.     IF GENERATINGCFM THEN
  2981.         IMPORT_CFM_FUNCTION HGetVol
  2982.     ENDIF
  2983.  
  2984. ;
  2985. ; pascal OSErr HOpen(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission, short *refNum)
  2986. ;
  2987.     IF GENERATINGCFM THEN
  2988.         IMPORT_CFM_FUNCTION HOpen
  2989.     ENDIF
  2990.  
  2991. ;
  2992. ; pascal OSErr HOpenDF(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission, short *refNum)
  2993. ;
  2994.     IF GENERATINGCFM THEN
  2995.         IMPORT_CFM_FUNCTION HOpenDF
  2996.     ENDIF
  2997.  
  2998. ;
  2999. ; pascal OSErr HOpenRF(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission, short *refNum)
  3000. ;
  3001.     IF GENERATINGCFM THEN
  3002.         IMPORT_CFM_FUNCTION HOpenRF
  3003.     ENDIF
  3004.  
  3005. ;
  3006. ; pascal OSErr AllocContig(short refNum, long *count)
  3007. ;
  3008.     IF GENERATINGCFM THEN
  3009.         IMPORT_CFM_FUNCTION AllocContig
  3010.     ENDIF
  3011.  
  3012. ;
  3013. ; pascal OSErr HCreate(short vRefNum, long dirID, ConstStr255Param fileName, OSType creator, OSType fileType)
  3014. ;
  3015.     IF GENERATINGCFM THEN
  3016.         IMPORT_CFM_FUNCTION HCreate
  3017.     ENDIF
  3018.  
  3019. ;
  3020. ; pascal OSErr DirCreate(short vRefNum, long parentDirID, ConstStr255Param directoryName, long *createdDirID)
  3021. ;
  3022.     IF GENERATINGCFM THEN
  3023.         IMPORT_CFM_FUNCTION DirCreate
  3024.     ENDIF
  3025.  
  3026. ;
  3027. ; pascal OSErr HDelete(short vRefNum, long dirID, ConstStr255Param fileName)
  3028. ;
  3029.     IF GENERATINGCFM THEN
  3030.         IMPORT_CFM_FUNCTION HDelete
  3031.     ENDIF
  3032.  
  3033. ;
  3034. ; pascal OSErr HGetFInfo(short vRefNum, long dirID, ConstStr255Param fileName, FInfo *fndrInfo)
  3035. ;
  3036.     IF GENERATINGCFM THEN
  3037.         IMPORT_CFM_FUNCTION HGetFInfo
  3038.     ENDIF
  3039.  
  3040. ;
  3041. ; pascal OSErr HSetFInfo(short vRefNum, long dirID, ConstStr255Param fileName, const FInfo *fndrInfo)
  3042. ;
  3043.     IF GENERATINGCFM THEN
  3044.         IMPORT_CFM_FUNCTION HSetFInfo
  3045.     ENDIF
  3046.  
  3047. ;
  3048. ; pascal OSErr HSetFLock(short vRefNum, long dirID, ConstStr255Param fileName)
  3049. ;
  3050.     IF GENERATINGCFM THEN
  3051.         IMPORT_CFM_FUNCTION HSetFLock
  3052.     ENDIF
  3053.  
  3054. ;
  3055. ; pascal OSErr HRstFLock(short vRefNum, long dirID, ConstStr255Param fileName)
  3056. ;
  3057.     IF GENERATINGCFM THEN
  3058.         IMPORT_CFM_FUNCTION HRstFLock
  3059.     ENDIF
  3060.  
  3061. ;
  3062. ; pascal OSErr HRename(short vRefNum, long dirID, ConstStr255Param oldName, ConstStr255Param newName)
  3063. ;
  3064.     IF GENERATINGCFM THEN
  3065.         IMPORT_CFM_FUNCTION HRename
  3066.     ENDIF
  3067.  
  3068. ;
  3069. ; pascal OSErr CatMove(short vRefNum, long dirID, ConstStr255Param oldName, long newDirID, ConstStr255Param newName)
  3070. ;
  3071.     IF GENERATINGCFM THEN
  3072.         IMPORT_CFM_FUNCTION CatMove
  3073.     ENDIF
  3074.  
  3075. ;
  3076. ; pascal OSErr OpenWD(short vRefNum, long dirID, long procID, short *wdRefNum)
  3077. ;
  3078.     IF GENERATINGCFM THEN
  3079.         IMPORT_CFM_FUNCTION OpenWD
  3080.     ENDIF
  3081.  
  3082. ;
  3083. ; pascal OSErr CloseWD(short wdRefNum)
  3084. ;
  3085.     IF GENERATINGCFM THEN
  3086.         IMPORT_CFM_FUNCTION CloseWD
  3087.     ENDIF
  3088.  
  3089. ;
  3090. ; pascal OSErr GetWDInfo(short wdRefNum, short *vRefNum, long *dirID, long *procID)
  3091. ;
  3092.     IF GENERATINGCFM THEN
  3093.         IMPORT_CFM_FUNCTION GetWDInfo
  3094.     ENDIF
  3095.  
  3096. ;   shared environment  
  3097. ;
  3098. ; pascal OSErr PBHGetVolParmsSync(HParmBlkPtr paramBlock)
  3099. ;
  3100.     IF ¨ GENERATINGCFM THEN
  3101.         ; parameters:
  3102.         ;    paramBlock      => A0
  3103.         ; returns:
  3104.         ;    OSErr           <= D0
  3105.         Macro
  3106.         _PBHGetVolParmsSync
  3107.             moveq               #48,D0
  3108.             dc.w                $A260
  3109.         EndM
  3110.     ELSE
  3111.         IMPORT_CFM_FUNCTION PBHGetVolParmsSync
  3112.     ENDIF
  3113.  
  3114. ;
  3115. ; pascal OSErr PBHGetVolParmsAsync(HParmBlkPtr paramBlock)
  3116. ;
  3117.     IF ¨ GENERATINGCFM THEN
  3118.         ; parameters:
  3119.         ;    paramBlock      => A0
  3120.         ; returns:
  3121.         ;    OSErr           <= D0
  3122.         Macro
  3123.         _PBHGetVolParmsAsync
  3124.             moveq               #48,D0
  3125.             dc.w                $A660
  3126.         EndM
  3127.     ELSE
  3128.         IMPORT_CFM_FUNCTION PBHGetVolParmsAsync
  3129.     ENDIF
  3130.  
  3131. ;
  3132. ; pascal OSErr PBHGetLogInInfoSync(HParmBlkPtr paramBlock)
  3133. ;
  3134.     IF ¨ GENERATINGCFM THEN
  3135.         ; parameters:
  3136.         ;    paramBlock      => A0
  3137.         ; returns:
  3138.         ;    OSErr           <= D0
  3139.         Macro
  3140.         _PBHGetLogInInfoSync
  3141.             moveq               #49,D0
  3142.             dc.w                $A260
  3143.         EndM
  3144.     ELSE
  3145.         IMPORT_CFM_FUNCTION PBHGetLogInInfoSync
  3146.     ENDIF
  3147.  
  3148. ;
  3149. ; pascal OSErr PBHGetLogInInfoAsync(HParmBlkPtr paramBlock)
  3150. ;
  3151.     IF ¨ GENERATINGCFM THEN
  3152.         ; parameters:
  3153.         ;    paramBlock      => A0
  3154.         ; returns:
  3155.         ;    OSErr           <= D0
  3156.         Macro
  3157.         _PBHGetLogInInfoAsync
  3158.             moveq               #49,D0
  3159.             dc.w                $A660
  3160.         EndM
  3161.     ELSE
  3162.         IMPORT_CFM_FUNCTION PBHGetLogInInfoAsync
  3163.     ENDIF
  3164.  
  3165. ;
  3166. ; pascal OSErr PBHGetDirAccessSync(HParmBlkPtr paramBlock)
  3167. ;
  3168.     IF ¨ GENERATINGCFM THEN
  3169.         ; parameters:
  3170.         ;    paramBlock      => A0
  3171.         ; returns:
  3172.         ;    OSErr           <= D0
  3173.         Macro
  3174.         _PBHGetDirAccessSync
  3175.             moveq               #50,D0
  3176.             dc.w                $A260
  3177.         EndM
  3178.     ELSE
  3179.         IMPORT_CFM_FUNCTION PBHGetDirAccessSync
  3180.     ENDIF
  3181.  
  3182. ;
  3183. ; pascal OSErr PBHGetDirAccessAsync(HParmBlkPtr paramBlock)
  3184. ;
  3185.     IF ¨ GENERATINGCFM THEN
  3186.         ; parameters:
  3187.         ;    paramBlock      => A0
  3188.         ; returns:
  3189.         ;    OSErr           <= D0
  3190.         Macro
  3191.         _PBHGetDirAccessAsync
  3192.             moveq               #50,D0
  3193.             dc.w                $A660
  3194.         EndM
  3195.     ELSE
  3196.         IMPORT_CFM_FUNCTION PBHGetDirAccessAsync
  3197.     ENDIF
  3198.  
  3199. ;
  3200. ; pascal OSErr PBHSetDirAccessSync(HParmBlkPtr paramBlock)
  3201. ;
  3202.     IF ¨ GENERATINGCFM THEN
  3203.         ; parameters:
  3204.         ;    paramBlock      => A0
  3205.         ; returns:
  3206.         ;    OSErr           <= D0
  3207.         Macro
  3208.         _PBHSetDirAccessSync
  3209.             moveq               #51,D0
  3210.             dc.w                $A260
  3211.         EndM
  3212.     ELSE
  3213.         IMPORT_CFM_FUNCTION PBHSetDirAccessSync
  3214.     ENDIF
  3215.  
  3216. ;
  3217. ; pascal OSErr PBHSetDirAccessAsync(HParmBlkPtr paramBlock)
  3218. ;
  3219.     IF ¨ GENERATINGCFM THEN
  3220.         ; parameters:
  3221.         ;    paramBlock      => A0
  3222.         ; returns:
  3223.         ;    OSErr           <= D0
  3224.         Macro
  3225.         _PBHSetDirAccessAsync
  3226.             moveq               #51,D0
  3227.             dc.w                $A660
  3228.         EndM
  3229.     ELSE
  3230.         IMPORT_CFM_FUNCTION PBHSetDirAccessAsync
  3231.     ENDIF
  3232.  
  3233. ;
  3234. ; pascal OSErr PBHMapIDSync(HParmBlkPtr paramBlock)
  3235. ;
  3236.     IF ¨ GENERATINGCFM THEN
  3237.         ; parameters:
  3238.         ;    paramBlock      => A0
  3239.         ; returns:
  3240.         ;    OSErr           <= D0
  3241.         Macro
  3242.         _PBHMapIDSync
  3243.             moveq               #52,D0
  3244.             dc.w                $A260
  3245.         EndM
  3246.     ELSE
  3247.         IMPORT_CFM_FUNCTION PBHMapIDSync
  3248.     ENDIF
  3249.  
  3250. ;
  3251. ; pascal OSErr PBHMapIDAsync(HParmBlkPtr paramBlock)
  3252. ;
  3253.     IF ¨ GENERATINGCFM THEN
  3254.         ; parameters:
  3255.         ;    paramBlock      => A0
  3256.         ; returns:
  3257.         ;    OSErr           <= D0
  3258.         Macro
  3259.         _PBHMapIDAsync
  3260.             moveq               #52,D0
  3261.             dc.w                $A660
  3262.         EndM
  3263.     ELSE
  3264.         IMPORT_CFM_FUNCTION PBHMapIDAsync
  3265.     ENDIF
  3266.  
  3267. ;
  3268. ; pascal OSErr PBHMapNameSync(HParmBlkPtr paramBlock)
  3269. ;
  3270.     IF ¨ GENERATINGCFM THEN
  3271.         ; parameters:
  3272.         ;    paramBlock      => A0
  3273.         ; returns:
  3274.         ;    OSErr           <= D0
  3275.         Macro
  3276.         _PBHMapNameSync
  3277.             moveq               #53,D0
  3278.             dc.w                $A260
  3279.         EndM
  3280.     ELSE
  3281.         IMPORT_CFM_FUNCTION PBHMapNameSync
  3282.     ENDIF
  3283.  
  3284. ;
  3285. ; pascal OSErr PBHMapNameAsync(HParmBlkPtr paramBlock)
  3286. ;
  3287.     IF ¨ GENERATINGCFM THEN
  3288.         ; parameters:
  3289.         ;    paramBlock      => A0
  3290.         ; returns:
  3291.         ;    OSErr           <= D0
  3292.         Macro
  3293.         _PBHMapNameAsync
  3294.             moveq               #53,D0
  3295.             dc.w                $A660
  3296.         EndM
  3297.     ELSE
  3298.         IMPORT_CFM_FUNCTION PBHMapNameAsync
  3299.     ENDIF
  3300.  
  3301. ;
  3302. ; pascal OSErr PBHCopyFileSync(HParmBlkPtr paramBlock)
  3303. ;
  3304.     IF ¨ GENERATINGCFM THEN
  3305.         ; parameters:
  3306.         ;    paramBlock      => A0
  3307.         ; returns:
  3308.         ;    OSErr           <= D0
  3309.         Macro
  3310.         _PBHCopyFileSync
  3311.             moveq               #54,D0
  3312.             dc.w                $A260
  3313.         EndM
  3314.     ELSE
  3315.         IMPORT_CFM_FUNCTION PBHCopyFileSync
  3316.     ENDIF
  3317.  
  3318. ;
  3319. ; pascal OSErr PBHCopyFileAsync(HParmBlkPtr paramBlock)
  3320. ;
  3321.     IF ¨ GENERATINGCFM THEN
  3322.         ; parameters:
  3323.         ;    paramBlock      => A0
  3324.         ; returns:
  3325.         ;    OSErr           <= D0
  3326.         Macro
  3327.         _PBHCopyFileAsync
  3328.             moveq               #54,D0
  3329.             dc.w                $A660
  3330.         EndM
  3331.     ELSE
  3332.         IMPORT_CFM_FUNCTION PBHCopyFileAsync
  3333.     ENDIF
  3334.  
  3335. ;
  3336. ; pascal OSErr PBHMoveRenameSync(HParmBlkPtr paramBlock)
  3337. ;
  3338.     IF ¨ GENERATINGCFM THEN
  3339.         ; parameters:
  3340.         ;    paramBlock      => A0
  3341.         ; returns:
  3342.         ;    OSErr           <= D0
  3343.         Macro
  3344.         _PBHMoveRenameSync
  3345.             moveq               #55,D0
  3346.             dc.w                $A260
  3347.         EndM
  3348.     ELSE
  3349.         IMPORT_CFM_FUNCTION PBHMoveRenameSync
  3350.     ENDIF
  3351.  
  3352. ;
  3353. ; pascal OSErr PBHMoveRenameAsync(HParmBlkPtr paramBlock)
  3354. ;
  3355.     IF ¨ GENERATINGCFM THEN
  3356.         ; parameters:
  3357.         ;    paramBlock      => A0
  3358.         ; returns:
  3359.         ;    OSErr           <= D0
  3360.         Macro
  3361.         _PBHMoveRenameAsync
  3362.             moveq               #55,D0
  3363.             dc.w                $A660
  3364.         EndM
  3365.     ELSE
  3366.         IMPORT_CFM_FUNCTION PBHMoveRenameAsync
  3367.     ENDIF
  3368.  
  3369. ;
  3370. ; pascal OSErr PBHOpenDenySync(HParmBlkPtr paramBlock)
  3371. ;
  3372.     IF ¨ GENERATINGCFM THEN
  3373.         ; parameters:
  3374.         ;    paramBlock      => A0
  3375.         ; returns:
  3376.         ;    OSErr           <= D0
  3377.         Macro
  3378.         _PBHOpenDenySync
  3379.             moveq               #56,D0
  3380.             dc.w                $A260
  3381.         EndM
  3382.     ELSE
  3383.         IMPORT_CFM_FUNCTION PBHOpenDenySync
  3384.     ENDIF
  3385.  
  3386. ;
  3387. ; pascal OSErr PBHOpenDenyAsync(HParmBlkPtr paramBlock)
  3388. ;
  3389.     IF ¨ GENERATINGCFM THEN
  3390.         ; parameters:
  3391.         ;    paramBlock      => A0
  3392.         ; returns:
  3393.         ;    OSErr           <= D0
  3394.         Macro
  3395.         _PBHOpenDenyAsync
  3396.             moveq               #56,D0
  3397.             dc.w                $A660
  3398.         EndM
  3399.     ELSE
  3400.         IMPORT_CFM_FUNCTION PBHOpenDenyAsync
  3401.     ENDIF
  3402.  
  3403. ;
  3404. ; pascal OSErr PBHOpenRFDenySync(HParmBlkPtr paramBlock)
  3405. ;
  3406.     IF ¨ GENERATINGCFM THEN
  3407.         ; parameters:
  3408.         ;    paramBlock      => A0
  3409.         ; returns:
  3410.         ;    OSErr           <= D0
  3411.         Macro
  3412.         _PBHOpenRFDenySync
  3413.             moveq               #57,D0
  3414.             dc.w                $A260
  3415.         EndM
  3416.     ELSE
  3417.         IMPORT_CFM_FUNCTION PBHOpenRFDenySync
  3418.     ENDIF
  3419.  
  3420. ;
  3421. ; pascal OSErr PBHOpenRFDenyAsync(HParmBlkPtr paramBlock)
  3422. ;
  3423.     IF ¨ GENERATINGCFM THEN
  3424.         ; parameters:
  3425.         ;    paramBlock      => A0
  3426.         ; returns:
  3427.         ;    OSErr           <= D0
  3428.         Macro
  3429.         _PBHOpenRFDenyAsync
  3430.             moveq               #57,D0
  3431.             dc.w                $A660
  3432.         EndM
  3433.     ELSE
  3434.         IMPORT_CFM_FUNCTION PBHOpenRFDenyAsync
  3435.     ENDIF
  3436.  
  3437. ;
  3438. ; pascal OSErr PBExchangeFilesSync(HParmBlkPtr paramBlock)
  3439. ;
  3440.     IF ¨ GENERATINGCFM THEN
  3441.         ; parameters:
  3442.         ;    paramBlock      => A0
  3443.         ; returns:
  3444.         ;    OSErr           <= D0
  3445.         Macro
  3446.         _PBExchangeFilesSync
  3447.             moveq               #23,D0
  3448.             dc.w                $A260
  3449.         EndM
  3450.     ELSE
  3451.         IMPORT_CFM_FUNCTION PBExchangeFilesSync
  3452.     ENDIF
  3453.  
  3454. ;
  3455. ; pascal OSErr PBExchangeFilesAsync(HParmBlkPtr paramBlock)
  3456. ;
  3457.     IF ¨ GENERATINGCFM THEN
  3458.         ; parameters:
  3459.         ;    paramBlock      => A0
  3460.         ; returns:
  3461.         ;    OSErr           <= D0
  3462.         Macro
  3463.         _PBExchangeFilesAsync
  3464.             moveq               #23,D0
  3465.             dc.w                $A660
  3466.         EndM
  3467.     ELSE
  3468.         IMPORT_CFM_FUNCTION PBExchangeFilesAsync
  3469.     ENDIF
  3470.  
  3471. ;
  3472. ; pascal OSErr PBCreateFileIDRefSync(HParmBlkPtr paramBlock)
  3473. ;
  3474.     IF ¨ GENERATINGCFM THEN
  3475.         ; parameters:
  3476.         ;    paramBlock      => A0
  3477.         ; returns:
  3478.         ;    OSErr           <= D0
  3479.         Macro
  3480.         _PBCreateFileIDRefSync
  3481.             moveq               #20,D0
  3482.             dc.w                $A260
  3483.         EndM
  3484.     ELSE
  3485.         IMPORT_CFM_FUNCTION PBCreateFileIDRefSync
  3486.     ENDIF
  3487.  
  3488. ;
  3489. ; pascal OSErr PBCreateFileIDRefAsync(HParmBlkPtr paramBlock)
  3490. ;
  3491.     IF ¨ GENERATINGCFM THEN
  3492.         ; parameters:
  3493.         ;    paramBlock      => A0
  3494.         ; returns:
  3495.         ;    OSErr           <= D0
  3496.         Macro
  3497.         _PBCreateFileIDRefAsync
  3498.             moveq               #20,D0
  3499.             dc.w                $A660
  3500.         EndM
  3501.     ELSE
  3502.         IMPORT_CFM_FUNCTION PBCreateFileIDRefAsync
  3503.     ENDIF
  3504.  
  3505. ;
  3506. ; pascal OSErr PBResolveFileIDRefSync(HParmBlkPtr paramBlock)
  3507. ;
  3508.     IF ¨ GENERATINGCFM THEN
  3509.         ; parameters:
  3510.         ;    paramBlock      => A0
  3511.         ; returns:
  3512.         ;    OSErr           <= D0
  3513.         Macro
  3514.         _PBResolveFileIDRefSync
  3515.             moveq               #22,D0
  3516.             dc.w                $A260
  3517.         EndM
  3518.     ELSE
  3519.         IMPORT_CFM_FUNCTION PBResolveFileIDRefSync
  3520.     ENDIF
  3521.  
  3522. ;
  3523. ; pascal OSErr PBResolveFileIDRefAsync(HParmBlkPtr paramBlock)
  3524. ;
  3525.     IF ¨ GENERATINGCFM THEN
  3526.         ; parameters:
  3527.         ;    paramBlock      => A0
  3528.         ; returns:
  3529.         ;    OSErr           <= D0
  3530.         Macro
  3531.         _PBResolveFileIDRefAsync
  3532.             moveq               #22,D0
  3533.             dc.w                $A660
  3534.         EndM
  3535.     ELSE
  3536.         IMPORT_CFM_FUNCTION PBResolveFileIDRefAsync
  3537.     ENDIF
  3538.  
  3539. ;
  3540. ; pascal OSErr PBDeleteFileIDRefSync(HParmBlkPtr paramBlock)
  3541. ;
  3542.     IF ¨ GENERATINGCFM THEN
  3543.         ; parameters:
  3544.         ;    paramBlock      => A0
  3545.         ; returns:
  3546.         ;    OSErr           <= D0
  3547.         Macro
  3548.         _PBDeleteFileIDRefSync
  3549.             moveq               #21,D0
  3550.             dc.w                $A260
  3551.         EndM
  3552.     ELSE
  3553.         IMPORT_CFM_FUNCTION PBDeleteFileIDRefSync
  3554.     ENDIF
  3555.  
  3556. ;
  3557. ; pascal OSErr PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock)
  3558. ;
  3559.     IF ¨ GENERATINGCFM THEN
  3560.         ; parameters:
  3561.         ;    paramBlock      => A0
  3562.         ; returns:
  3563.         ;    OSErr           <= D0
  3564.         Macro
  3565.         _PBDeleteFileIDRefAsync
  3566.             moveq               #21,D0
  3567.             dc.w                $A660
  3568.         EndM
  3569.     ELSE
  3570.         IMPORT_CFM_FUNCTION PBDeleteFileIDRefAsync
  3571.     ENDIF
  3572.  
  3573. ;
  3574. ; pascal OSErr PBGetForeignPrivsSync(HParmBlkPtr paramBlock)
  3575. ;
  3576.     IF ¨ GENERATINGCFM THEN
  3577.         ; parameters:
  3578.         ;    paramBlock      => A0
  3579.         ; returns:
  3580.         ;    OSErr           <= D0
  3581.         Macro
  3582.         _PBGetForeignPrivsSync
  3583.             moveq               #96,D0
  3584.             dc.w                $A260
  3585.         EndM
  3586.     ELSE
  3587.         IMPORT_CFM_FUNCTION PBGetForeignPrivsSync
  3588.     ENDIF
  3589.  
  3590. ;
  3591. ; pascal OSErr PBGetForeignPrivsAsync(HParmBlkPtr paramBlock)
  3592. ;
  3593.     IF ¨ GENERATINGCFM THEN
  3594.         ; parameters:
  3595.         ;    paramBlock      => A0
  3596.         ; returns:
  3597.         ;    OSErr           <= D0
  3598.         Macro
  3599.         _PBGetForeignPrivsAsync
  3600.             moveq               #96,D0
  3601.             dc.w                $A660
  3602.         EndM
  3603.     ELSE
  3604.         IMPORT_CFM_FUNCTION PBGetForeignPrivsAsync
  3605.     ENDIF
  3606.  
  3607. ;
  3608. ; pascal OSErr PBSetForeignPrivsSync(HParmBlkPtr paramBlock)
  3609. ;
  3610.     IF ¨ GENERATINGCFM THEN
  3611.         ; parameters:
  3612.         ;    paramBlock      => A0
  3613.         ; returns:
  3614.         ;    OSErr           <= D0
  3615.         Macro
  3616.         _PBSetForeignPrivsSync
  3617.             moveq               #97,D0
  3618.             dc.w                $A260
  3619.         EndM
  3620.     ELSE
  3621.         IMPORT_CFM_FUNCTION PBSetForeignPrivsSync
  3622.     ENDIF
  3623.  
  3624. ;
  3625. ; pascal OSErr PBSetForeignPrivsAsync(HParmBlkPtr paramBlock)
  3626. ;
  3627.     IF ¨ GENERATINGCFM THEN
  3628.         ; parameters:
  3629.         ;    paramBlock      => A0
  3630.         ; returns:
  3631.         ;    OSErr           <= D0
  3632.         Macro
  3633.         _PBSetForeignPrivsAsync
  3634.             moveq               #97,D0
  3635.             dc.w                $A660
  3636.         EndM
  3637.     ELSE
  3638.         IMPORT_CFM_FUNCTION PBSetForeignPrivsAsync
  3639.     ENDIF
  3640.  
  3641. ;   Desktop Manager  
  3642. ;
  3643. ; pascal OSErr PBDTGetPath(DTPBPtr paramBlock)
  3644. ;
  3645.     IF ¨ GENERATINGCFM THEN
  3646.         ; parameters:
  3647.         ;    paramBlock      => A0
  3648.         ; returns:
  3649.         ;    OSErr           <= D0
  3650.         Macro
  3651.         _PBDTGetPath
  3652.             moveq               #32,D0
  3653.             dc.w                $A260
  3654.         EndM
  3655.     ELSE
  3656.         IMPORT_CFM_FUNCTION PBDTGetPath
  3657.     ENDIF
  3658.  
  3659. ;
  3660. ; pascal OSErr PBDTCloseDown(DTPBPtr paramBlock)
  3661. ;
  3662.     IF ¨ GENERATINGCFM THEN
  3663.         ; parameters:
  3664.         ;    paramBlock      => A0
  3665.         ; returns:
  3666.         ;    OSErr           <= D0
  3667.         Macro
  3668.         _PBDTCloseDown
  3669.             moveq               #33,D0
  3670.             dc.w                $A260
  3671.         EndM
  3672.     ELSE
  3673.         IMPORT_CFM_FUNCTION PBDTCloseDown
  3674.     ENDIF
  3675.  
  3676. ;
  3677. ; pascal OSErr PBDTAddIconSync(DTPBPtr paramBlock)
  3678. ;
  3679.     IF ¨ GENERATINGCFM THEN
  3680.         ; parameters:
  3681.         ;    paramBlock      => A0
  3682.         ; returns:
  3683.         ;    OSErr           <= D0
  3684.         Macro
  3685.         _PBDTAddIconSync
  3686.             moveq               #34,D0
  3687.             dc.w                $A260
  3688.         EndM
  3689.     ELSE
  3690.         IMPORT_CFM_FUNCTION PBDTAddIconSync
  3691.     ENDIF
  3692.  
  3693. ;
  3694. ; pascal OSErr PBDTAddIconAsync(DTPBPtr paramBlock)
  3695. ;
  3696.     IF ¨ GENERATINGCFM THEN
  3697.         ; parameters:
  3698.         ;    paramBlock      => A0
  3699.         ; returns:
  3700.         ;    OSErr           <= D0
  3701.         Macro
  3702.         _PBDTAddIconAsync
  3703.             moveq               #34,D0
  3704.             dc.w                $A660
  3705.         EndM
  3706.     ELSE
  3707.         IMPORT_CFM_FUNCTION PBDTAddIconAsync
  3708.     ENDIF
  3709.  
  3710. ;
  3711. ; pascal OSErr PBDTGetIconSync(DTPBPtr paramBlock)
  3712. ;
  3713.     IF ¨ GENERATINGCFM THEN
  3714.         ; parameters:
  3715.         ;    paramBlock      => A0
  3716.         ; returns:
  3717.         ;    OSErr           <= D0
  3718.         Macro
  3719.         _PBDTGetIconSync
  3720.             moveq               #35,D0
  3721.             dc.w                $A260
  3722.         EndM
  3723.     ELSE
  3724.         IMPORT_CFM_FUNCTION PBDTGetIconSync
  3725.     ENDIF
  3726.  
  3727. ;
  3728. ; pascal OSErr PBDTGetIconAsync(DTPBPtr paramBlock)
  3729. ;
  3730.     IF ¨ GENERATINGCFM THEN
  3731.         ; parameters:
  3732.         ;    paramBlock      => A0
  3733.         ; returns:
  3734.         ;    OSErr           <= D0
  3735.         Macro
  3736.         _PBDTGetIconAsync
  3737.             moveq               #35,D0
  3738.             dc.w                $A660
  3739.         EndM
  3740.     ELSE
  3741.         IMPORT_CFM_FUNCTION PBDTGetIconAsync
  3742.     ENDIF
  3743.  
  3744. ;
  3745. ; pascal OSErr PBDTGetIconInfoSync(DTPBPtr paramBlock)
  3746. ;
  3747.     IF ¨ GENERATINGCFM THEN
  3748.         ; parameters:
  3749.         ;    paramBlock      => A0
  3750.         ; returns:
  3751.         ;    OSErr           <= D0
  3752.         Macro
  3753.         _PBDTGetIconInfoSync
  3754.             moveq               #36,D0
  3755.             dc.w                $A260
  3756.         EndM
  3757.     ELSE
  3758.         IMPORT_CFM_FUNCTION PBDTGetIconInfoSync
  3759.     ENDIF
  3760.  
  3761. ;
  3762. ; pascal OSErr PBDTGetIconInfoAsync(DTPBPtr paramBlock)
  3763. ;
  3764.     IF ¨ GENERATINGCFM THEN
  3765.         ; parameters:
  3766.         ;    paramBlock      => A0
  3767.         ; returns:
  3768.         ;    OSErr           <= D0
  3769.         Macro
  3770.         _PBDTGetIconInfoAsync
  3771.             moveq               #36,D0
  3772.             dc.w                $A660
  3773.         EndM
  3774.     ELSE
  3775.         IMPORT_CFM_FUNCTION PBDTGetIconInfoAsync
  3776.     ENDIF
  3777.  
  3778. ;
  3779. ; pascal OSErr PBDTAddAPPLSync(DTPBPtr paramBlock)
  3780. ;
  3781.     IF ¨ GENERATINGCFM THEN
  3782.         ; parameters:
  3783.         ;    paramBlock      => A0
  3784.         ; returns:
  3785.         ;    OSErr           <= D0
  3786.         Macro
  3787.         _PBDTAddAPPLSync
  3788.             moveq               #37,D0
  3789.             dc.w                $A260
  3790.         EndM
  3791.     ELSE
  3792.         IMPORT_CFM_FUNCTION PBDTAddAPPLSync
  3793.     ENDIF
  3794.  
  3795. ;
  3796. ; pascal OSErr PBDTAddAPPLAsync(DTPBPtr paramBlock)
  3797. ;
  3798.     IF ¨ GENERATINGCFM THEN
  3799.         ; parameters:
  3800.         ;    paramBlock      => A0
  3801.         ; returns:
  3802.         ;    OSErr           <= D0
  3803.         Macro
  3804.         _PBDTAddAPPLAsync
  3805.             moveq               #37,D0
  3806.             dc.w                $A660
  3807.         EndM
  3808.     ELSE
  3809.         IMPORT_CFM_FUNCTION PBDTAddAPPLAsync
  3810.     ENDIF
  3811.  
  3812. ;
  3813. ; pascal OSErr PBDTRemoveAPPLSync(DTPBPtr paramBlock)
  3814. ;
  3815.     IF ¨ GENERATINGCFM THEN
  3816.         ; parameters:
  3817.         ;    paramBlock      => A0
  3818.         ; returns:
  3819.         ;    OSErr           <= D0
  3820.         Macro
  3821.         _PBDTRemoveAPPLSync
  3822.             moveq               #38,D0
  3823.             dc.w                $A260
  3824.         EndM
  3825.     ELSE
  3826.         IMPORT_CFM_FUNCTION PBDTRemoveAPPLSync
  3827.     ENDIF
  3828.  
  3829. ;
  3830. ; pascal OSErr PBDTRemoveAPPLAsync(DTPBPtr paramBlock)
  3831. ;
  3832.     IF ¨ GENERATINGCFM THEN
  3833.         ; parameters:
  3834.         ;    paramBlock      => A0
  3835.         ; returns:
  3836.         ;    OSErr           <= D0
  3837.         Macro
  3838.         _PBDTRemoveAPPLAsync
  3839.             moveq               #38,D0
  3840.             dc.w                $A660
  3841.         EndM
  3842.     ELSE
  3843.         IMPORT_CFM_FUNCTION PBDTRemoveAPPLAsync
  3844.     ENDIF
  3845.  
  3846. ;
  3847. ; pascal OSErr PBDTGetAPPLSync(DTPBPtr paramBlock)
  3848. ;
  3849.     IF ¨ GENERATINGCFM THEN
  3850.         ; parameters:
  3851.         ;    paramBlock      => A0
  3852.         ; returns:
  3853.         ;    OSErr           <= D0
  3854.         Macro
  3855.         _PBDTGetAPPLSync
  3856.             moveq               #39,D0
  3857.             dc.w                $A260
  3858.         EndM
  3859.     ELSE
  3860.         IMPORT_CFM_FUNCTION PBDTGetAPPLSync
  3861.     ENDIF
  3862.  
  3863. ;
  3864. ; pascal OSErr PBDTGetAPPLAsync(DTPBPtr paramBlock)
  3865. ;
  3866.     IF ¨ GENERATINGCFM THEN
  3867.         ; parameters:
  3868.         ;    paramBlock      => A0
  3869.         ; returns:
  3870.         ;    OSErr           <= D0
  3871.         Macro
  3872.         _PBDTGetAPPLAsync
  3873.             moveq               #39,D0
  3874.             dc.w                $A660
  3875.         EndM
  3876.     ELSE
  3877.         IMPORT_CFM_FUNCTION PBDTGetAPPLAsync
  3878.     ENDIF
  3879.  
  3880. ;
  3881. ; pascal OSErr PBDTSetCommentSync(DTPBPtr paramBlock)
  3882. ;
  3883.     IF ¨ GENERATINGCFM THEN
  3884.         ; parameters:
  3885.         ;    paramBlock      => A0
  3886.         ; returns:
  3887.         ;    OSErr           <= D0
  3888.         Macro
  3889.         _PBDTSetCommentSync
  3890.             moveq               #40,D0
  3891.             dc.w                $A260
  3892.         EndM
  3893.     ELSE
  3894.         IMPORT_CFM_FUNCTION PBDTSetCommentSync
  3895.     ENDIF
  3896.  
  3897. ;
  3898. ; pascal OSErr PBDTSetCommentAsync(DTPBPtr paramBlock)
  3899. ;
  3900.     IF ¨ GENERATINGCFM THEN
  3901.         ; parameters:
  3902.         ;    paramBlock      => A0
  3903.         ; returns:
  3904.         ;    OSErr           <= D0
  3905.         Macro
  3906.         _PBDTSetCommentAsync
  3907.             moveq               #40,D0
  3908.             dc.w                $A660
  3909.         EndM
  3910.     ELSE
  3911.         IMPORT_CFM_FUNCTION PBDTSetCommentAsync
  3912.     ENDIF
  3913.  
  3914. ;
  3915. ; pascal OSErr PBDTRemoveCommentSync(DTPBPtr paramBlock)
  3916. ;
  3917.     IF ¨ GENERATINGCFM THEN
  3918.         ; parameters:
  3919.         ;    paramBlock      => A0
  3920.         ; returns:
  3921.         ;    OSErr           <= D0
  3922.         Macro
  3923.         _PBDTRemoveCommentSync
  3924.             moveq               #41,D0
  3925.             dc.w                $A260
  3926.         EndM
  3927.     ELSE
  3928.         IMPORT_CFM_FUNCTION PBDTRemoveCommentSync
  3929.     ENDIF
  3930.  
  3931. ;
  3932. ; pascal OSErr PBDTRemoveCommentAsync(DTPBPtr paramBlock)
  3933. ;
  3934.     IF ¨ GENERATINGCFM THEN
  3935.         ; parameters:
  3936.         ;    paramBlock      => A0
  3937.         ; returns:
  3938.         ;    OSErr           <= D0
  3939.         Macro
  3940.         _PBDTRemoveCommentAsync
  3941.             moveq               #41,D0
  3942.             dc.w                $A660
  3943.         EndM
  3944.     ELSE
  3945.         IMPORT_CFM_FUNCTION PBDTRemoveCommentAsync
  3946.     ENDIF
  3947.  
  3948. ;
  3949. ; pascal OSErr PBDTGetCommentSync(DTPBPtr paramBlock)
  3950. ;
  3951.     IF ¨ GENERATINGCFM THEN
  3952.         ; parameters:
  3953.         ;    paramBlock      => A0
  3954.         ; returns:
  3955.         ;    OSErr           <= D0
  3956.         Macro
  3957.         _PBDTGetCommentSync
  3958.             moveq               #42,D0
  3959.             dc.w                $A260
  3960.         EndM
  3961.     ELSE
  3962.         IMPORT_CFM_FUNCTION PBDTGetCommentSync
  3963.     ENDIF
  3964.  
  3965. ;
  3966. ; pascal OSErr PBDTGetCommentAsync(DTPBPtr paramBlock)
  3967. ;
  3968.     IF ¨ GENERATINGCFM THEN
  3969.         ; parameters:
  3970.         ;    paramBlock      => A0
  3971.         ; returns:
  3972.         ;    OSErr           <= D0
  3973.         Macro
  3974.         _PBDTGetCommentAsync
  3975.             moveq               #42,D0
  3976.             dc.w                $A660
  3977.         EndM
  3978.     ELSE
  3979.         IMPORT_CFM_FUNCTION PBDTGetCommentAsync
  3980.     ENDIF
  3981.  
  3982. ;
  3983. ; pascal OSErr PBDTFlushSync(DTPBPtr paramBlock)
  3984. ;
  3985.     IF ¨ GENERATINGCFM THEN
  3986.         ; parameters:
  3987.         ;    paramBlock      => A0
  3988.         ; returns:
  3989.         ;    OSErr           <= D0
  3990.         Macro
  3991.         _PBDTFlushSync
  3992.             moveq               #43,D0
  3993.             dc.w                $A260
  3994.         EndM
  3995.     ELSE
  3996.         IMPORT_CFM_FUNCTION PBDTFlushSync
  3997.     ENDIF
  3998.  
  3999. ;
  4000. ; pascal OSErr PBDTFlushAsync(DTPBPtr paramBlock)
  4001. ;
  4002.     IF ¨ GENERATINGCFM THEN
  4003.         ; parameters:
  4004.         ;    paramBlock      => A0
  4005.         ; returns:
  4006.         ;    OSErr           <= D0
  4007.         Macro
  4008.         _PBDTFlushAsync
  4009.             moveq               #43,D0
  4010.             dc.w                $A660
  4011.         EndM
  4012.     ELSE
  4013.         IMPORT_CFM_FUNCTION PBDTFlushAsync
  4014.     ENDIF
  4015.  
  4016. ;
  4017. ; pascal OSErr PBDTResetSync(DTPBPtr paramBlock)
  4018. ;
  4019.     IF ¨ GENERATINGCFM THEN
  4020.         ; parameters:
  4021.         ;    paramBlock      => A0
  4022.         ; returns:
  4023.         ;    OSErr           <= D0
  4024.         Macro
  4025.         _PBDTResetSync
  4026.             moveq               #44,D0
  4027.             dc.w                $A260
  4028.         EndM
  4029.     ELSE
  4030.         IMPORT_CFM_FUNCTION PBDTResetSync
  4031.     ENDIF
  4032.  
  4033. ;
  4034. ; pascal OSErr PBDTResetAsync(DTPBPtr paramBlock)
  4035. ;
  4036.     IF ¨ GENERATINGCFM THEN
  4037.         ; parameters:
  4038.         ;    paramBlock      => A0
  4039.         ; returns:
  4040.         ;    OSErr           <= D0
  4041.         Macro
  4042.         _PBDTResetAsync
  4043.             moveq               #44,D0
  4044.             dc.w                $A660
  4045.         EndM
  4046.     ELSE
  4047.         IMPORT_CFM_FUNCTION PBDTResetAsync
  4048.     ENDIF
  4049.  
  4050. ;
  4051. ; pascal OSErr PBDTGetInfoSync(DTPBPtr paramBlock)
  4052. ;
  4053.     IF ¨ GENERATINGCFM THEN
  4054.         ; parameters:
  4055.         ;    paramBlock      => A0
  4056.         ; returns:
  4057.         ;    OSErr           <= D0
  4058.         Macro
  4059.         _PBDTGetInfoSync
  4060.             moveq               #45,D0
  4061.             dc.w                $A260
  4062.         EndM
  4063.     ELSE
  4064.         IMPORT_CFM_FUNCTION PBDTGetInfoSync
  4065.     ENDIF
  4066.  
  4067. ;
  4068. ; pascal OSErr PBDTGetInfoAsync(DTPBPtr paramBlock)
  4069. ;
  4070.     IF ¨ GENERATINGCFM THEN
  4071.         ; parameters:
  4072.         ;    paramBlock      => A0
  4073.         ; returns:
  4074.         ;    OSErr           <= D0
  4075.         Macro
  4076.         _PBDTGetInfoAsync
  4077.             moveq               #45,D0
  4078.             dc.w                $A660
  4079.         EndM
  4080.     ELSE
  4081.         IMPORT_CFM_FUNCTION PBDTGetInfoAsync
  4082.     ENDIF
  4083.  
  4084. ;
  4085. ; pascal OSErr PBDTOpenInform(DTPBPtr paramBlock)
  4086. ;
  4087.     IF ¨ GENERATINGCFM THEN
  4088.         ; parameters:
  4089.         ;    paramBlock      => A0
  4090.         ; returns:
  4091.         ;    OSErr           <= D0
  4092.         Macro
  4093.         _PBDTOpenInform
  4094.             moveq               #46,D0
  4095.             dc.w                $A060
  4096.         EndM
  4097.     ELSE
  4098.         IMPORT_CFM_FUNCTION PBDTOpenInform
  4099.     ENDIF
  4100.  
  4101. ;
  4102. ; pascal OSErr PBDTDeleteSync(DTPBPtr paramBlock)
  4103. ;
  4104.     IF ¨ GENERATINGCFM THEN
  4105.         ; parameters:
  4106.         ;    paramBlock      => A0
  4107.         ; returns:
  4108.         ;    OSErr           <= D0
  4109.         Macro
  4110.         _PBDTDeleteSync
  4111.             moveq               #47,D0
  4112.             dc.w                $A060
  4113.         EndM
  4114.     ELSE
  4115.         IMPORT_CFM_FUNCTION PBDTDeleteSync
  4116.     ENDIF
  4117.  
  4118. ;
  4119. ; pascal OSErr PBDTDeleteAsync(DTPBPtr paramBlock)
  4120. ;
  4121.     IF ¨ GENERATINGCFM THEN
  4122.         ; parameters:
  4123.         ;    paramBlock      => A0
  4124.         ; returns:
  4125.         ;    OSErr           <= D0
  4126.         Macro
  4127.         _PBDTDeleteAsync
  4128.             moveq               #47,D0
  4129.             dc.w                $A460
  4130.         EndM
  4131.     ELSE
  4132.         IMPORT_CFM_FUNCTION PBDTDeleteAsync
  4133.     ENDIF
  4134.  
  4135. ;   VolumeMount traps  
  4136. ;
  4137. ; pascal OSErr PBGetVolMountInfoSize(ParmBlkPtr paramBlock)
  4138. ;
  4139.     IF ¨ GENERATINGCFM THEN
  4140.         ; parameters:
  4141.         ;    paramBlock      => A0
  4142.         ; returns:
  4143.         ;    OSErr           <= D0
  4144.         Macro
  4145.         _PBGetVolMountInfoSize
  4146.             moveq               #63,D0
  4147.             dc.w                $A260
  4148.         EndM
  4149.     ELSE
  4150.         IMPORT_CFM_FUNCTION PBGetVolMountInfoSize
  4151.     ENDIF
  4152.  
  4153. ;
  4154. ; pascal OSErr PBGetVolMountInfo(ParmBlkPtr paramBlock)
  4155. ;
  4156.     IF ¨ GENERATINGCFM THEN
  4157.         ; parameters:
  4158.         ;    paramBlock      => A0
  4159.         ; returns:
  4160.         ;    OSErr           <= D0
  4161.         Macro
  4162.         _PBGetVolMountInfo
  4163.             moveq               #64,D0
  4164.             dc.w                $A260
  4165.         EndM
  4166.     ELSE
  4167.         IMPORT_CFM_FUNCTION PBGetVolMountInfo
  4168.     ENDIF
  4169.  
  4170. ;
  4171. ; pascal OSErr PBVolumeMount(ParmBlkPtr paramBlock)
  4172. ;
  4173.     IF ¨ GENERATINGCFM THEN
  4174.         ; parameters:
  4175.         ;    paramBlock      => A0
  4176.         ; returns:
  4177.         ;    OSErr           <= D0
  4178.         Macro
  4179.         _PBVolumeMount
  4180.             moveq               #65,D0
  4181.             dc.w                $A260
  4182.         EndM
  4183.     ELSE
  4184.         IMPORT_CFM_FUNCTION PBVolumeMount
  4185.     ENDIF
  4186.  
  4187. ;   FSp traps  
  4188. ;
  4189. ; pascal OSErr FSMakeFSSpec(short vRefNum, long dirID, ConstStr255Param fileName, FSSpec *spec)
  4190. ;
  4191.     IF ¨ GENERATINGCFM THEN
  4192.         Macro
  4193.         _FSMakeFSSpec
  4194.             moveq               #1,D0
  4195.             dc.w                $AA52
  4196.         EndM
  4197.     ELSE
  4198.         IMPORT_CFM_FUNCTION FSMakeFSSpec
  4199.     ENDIF
  4200.  
  4201. ;
  4202. ; pascal OSErr FSpOpenDF(const FSSpec *spec, SInt8 permission, short *refNum)
  4203. ;
  4204.     IF ¨ GENERATINGCFM THEN
  4205.         Macro
  4206.         _FSpOpenDF
  4207.             moveq               #2,D0
  4208.             dc.w                $AA52
  4209.         EndM
  4210.     ELSE
  4211.         IMPORT_CFM_FUNCTION FSpOpenDF
  4212.     ENDIF
  4213.  
  4214. ;
  4215. ; pascal OSErr FSpOpenRF(const FSSpec *spec, SInt8 permission, short *refNum)
  4216. ;
  4217.     IF ¨ GENERATINGCFM THEN
  4218.         Macro
  4219.         _FSpOpenRF
  4220.             moveq               #3,D0
  4221.             dc.w                $AA52
  4222.         EndM
  4223.     ELSE
  4224.         IMPORT_CFM_FUNCTION FSpOpenRF
  4225.     ENDIF
  4226.  
  4227. ;
  4228. ; pascal OSErr FSpCreate(const FSSpec *spec, OSType creator, OSType fileType, ScriptCode scriptTag)
  4229. ;
  4230.     IF ¨ GENERATINGCFM THEN
  4231.         Macro
  4232.         _FSpCreate
  4233.             moveq               #4,D0
  4234.             dc.w                $AA52
  4235.         EndM
  4236.     ELSE
  4237.         IMPORT_CFM_FUNCTION FSpCreate
  4238.     ENDIF
  4239.  
  4240. ;
  4241. ; pascal OSErr FSpDirCreate(const FSSpec *spec, ScriptCode scriptTag, long *createdDirID)
  4242. ;
  4243.     IF ¨ GENERATINGCFM THEN
  4244.         Macro
  4245.         _FSpDirCreate
  4246.             moveq               #5,D0
  4247.             dc.w                $AA52
  4248.         EndM
  4249.     ELSE
  4250.         IMPORT_CFM_FUNCTION FSpDirCreate
  4251.     ENDIF
  4252.  
  4253. ;
  4254. ; pascal OSErr FSpDelete(const FSSpec *spec)
  4255. ;
  4256.     IF ¨ GENERATINGCFM THEN
  4257.         Macro
  4258.         _FSpDelete
  4259.             moveq               #6,D0
  4260.             dc.w                $AA52
  4261.         EndM
  4262.     ELSE
  4263.         IMPORT_CFM_FUNCTION FSpDelete
  4264.     ENDIF
  4265.  
  4266. ;
  4267. ; pascal OSErr FSpGetFInfo(const FSSpec *spec, FInfo *fndrInfo)
  4268. ;
  4269.     IF ¨ GENERATINGCFM THEN
  4270.         Macro
  4271.         _FSpGetFInfo
  4272.             moveq               #7,D0
  4273.             dc.w                $AA52
  4274.         EndM
  4275.     ELSE
  4276.         IMPORT_CFM_FUNCTION FSpGetFInfo
  4277.     ENDIF
  4278.  
  4279. ;
  4280. ; pascal OSErr FSpSetFInfo(const FSSpec *spec, const FInfo *fndrInfo)
  4281. ;
  4282.     IF ¨ GENERATINGCFM THEN
  4283.         Macro
  4284.         _FSpSetFInfo
  4285.             moveq               #8,D0
  4286.             dc.w                $AA52
  4287.         EndM
  4288.     ELSE
  4289.         IMPORT_CFM_FUNCTION FSpSetFInfo
  4290.     ENDIF
  4291.  
  4292. ;
  4293. ; pascal OSErr FSpSetFLock(const FSSpec *spec)
  4294. ;
  4295.     IF ¨ GENERATINGCFM THEN
  4296.         Macro
  4297.         _FSpSetFLock
  4298.             moveq               #9,D0
  4299.             dc.w                $AA52
  4300.         EndM
  4301.     ELSE
  4302.         IMPORT_CFM_FUNCTION FSpSetFLock
  4303.     ENDIF
  4304.  
  4305. ;
  4306. ; pascal OSErr FSpRstFLock(const FSSpec *spec)
  4307. ;
  4308.     IF ¨ GENERATINGCFM THEN
  4309.         Macro
  4310.         _FSpRstFLock
  4311.             moveq               #10,D0
  4312.             dc.w                $AA52
  4313.         EndM
  4314.     ELSE
  4315.         IMPORT_CFM_FUNCTION FSpRstFLock
  4316.     ENDIF
  4317.  
  4318. ;
  4319. ; pascal OSErr FSpRename(const FSSpec *spec, ConstStr255Param newName)
  4320. ;
  4321.     IF ¨ GENERATINGCFM THEN
  4322.         Macro
  4323.         _FSpRename
  4324.             moveq               #11,D0
  4325.             dc.w                $AA52
  4326.         EndM
  4327.     ELSE
  4328.         IMPORT_CFM_FUNCTION FSpRename
  4329.     ENDIF
  4330.  
  4331. ;
  4332. ; pascal OSErr FSpCatMove(const FSSpec *source, const FSSpec *dest)
  4333. ;
  4334.     IF ¨ GENERATINGCFM THEN
  4335.         Macro
  4336.         _FSpCatMove
  4337.             moveq               #12,D0
  4338.             dc.w                $AA52
  4339.         EndM
  4340.     ELSE
  4341.         IMPORT_CFM_FUNCTION FSpCatMove
  4342.     ENDIF
  4343.  
  4344. ;
  4345. ; pascal OSErr FSpExchangeFiles(const FSSpec *source, const FSSpec *dest)
  4346. ;
  4347.     IF ¨ GENERATINGCFM THEN
  4348.         Macro
  4349.         _FSpExchangeFiles
  4350.             moveq               #15,D0
  4351.             dc.w                $AA52
  4352.         EndM
  4353.     ELSE
  4354.         IMPORT_CFM_FUNCTION FSpExchangeFiles
  4355.     ENDIF
  4356.  
  4357. ;
  4358. ; pascal OSErr PBShareSync(HParmBlkPtr paramBlock)
  4359. ;
  4360.     IF ¨ GENERATINGCFM THEN
  4361.         ; parameters:
  4362.         ;    paramBlock      => A0
  4363.         ; returns:
  4364.         ;    OSErr           <= D0
  4365.         Macro
  4366.         _PBShareSync
  4367.             moveq               #66,D0
  4368.             dc.w                $A260
  4369.         EndM
  4370.     ELSE
  4371.         IMPORT_CFM_FUNCTION PBShareSync
  4372.     ENDIF
  4373.  
  4374. ;
  4375. ; pascal OSErr PBShareAsync(HParmBlkPtr paramBlock)
  4376. ;
  4377.     IF ¨ GENERATINGCFM THEN
  4378.         ; parameters:
  4379.         ;    paramBlock      => A0
  4380.         ; returns:
  4381.         ;    OSErr           <= D0
  4382.         Macro
  4383.         _PBShareAsync
  4384.             moveq               #66,D0
  4385.             dc.w                $A660
  4386.         EndM
  4387.     ELSE
  4388.         IMPORT_CFM_FUNCTION PBShareAsync
  4389.     ENDIF
  4390.  
  4391. ;
  4392. ; pascal OSErr PBUnshareSync(HParmBlkPtr paramBlock)
  4393. ;
  4394.     IF ¨ GENERATINGCFM THEN
  4395.         ; parameters:
  4396.         ;    paramBlock      => A0
  4397.         ; returns:
  4398.         ;    OSErr           <= D0
  4399.         Macro
  4400.         _PBUnshareSync
  4401.             moveq               #67,D0
  4402.             dc.w                $A260
  4403.         EndM
  4404.     ELSE
  4405.         IMPORT_CFM_FUNCTION PBUnshareSync
  4406.     ENDIF
  4407.  
  4408. ;
  4409. ; pascal OSErr PBUnshareAsync(HParmBlkPtr paramBlock)
  4410. ;
  4411.     IF ¨ GENERATINGCFM THEN
  4412.         ; parameters:
  4413.         ;    paramBlock      => A0
  4414.         ; returns:
  4415.         ;    OSErr           <= D0
  4416.         Macro
  4417.         _PBUnshareAsync
  4418.             moveq               #67,D0
  4419.             dc.w                $A660
  4420.         EndM
  4421.     ELSE
  4422.         IMPORT_CFM_FUNCTION PBUnshareAsync
  4423.     ENDIF
  4424.  
  4425. ;
  4426. ; pascal OSErr PBGetUGEntrySync(HParmBlkPtr paramBlock)
  4427. ;
  4428.     IF ¨ GENERATINGCFM THEN
  4429.         ; parameters:
  4430.         ;    paramBlock      => A0
  4431.         ; returns:
  4432.         ;    OSErr           <= D0
  4433.         Macro
  4434.         _PBGetUGEntrySync
  4435.             moveq               #68,D0
  4436.             dc.w                $A260
  4437.         EndM
  4438.     ELSE
  4439.         IMPORT_CFM_FUNCTION PBGetUGEntrySync
  4440.     ENDIF
  4441.  
  4442. ;
  4443. ; pascal OSErr PBGetUGEntryAsync(HParmBlkPtr paramBlock)
  4444. ;
  4445.     IF ¨ GENERATINGCFM THEN
  4446.         ; parameters:
  4447.         ;    paramBlock      => A0
  4448.         ; returns:
  4449.         ;    OSErr           <= D0
  4450.         Macro
  4451.         _PBGetUGEntryAsync
  4452.             moveq               #68,D0
  4453.             dc.w                $A660
  4454.         EndM
  4455.     ELSE
  4456.         IMPORT_CFM_FUNCTION PBGetUGEntryAsync
  4457.     ENDIF
  4458.  
  4459.     IF OLDROUTINENAMES ** ¨ GENERATINGCFM THEN
  4460. ;
  4461. ;    PBGetAltAccess and PBSetAltAccess are obsolete and will not be supported 
  4462. ;    on PowerPC. Equivalent functionality is provided by the routines 
  4463. ;    PBGetForeignPrivs and PBSetForeignPrivs.
  4464. ;
  4465. ;
  4466. ; pascal OSErr PBGetAltAccessSync(HParmBlkPtr paramBlock)
  4467. ;
  4468.     IF ¨ GENERATINGCFM THEN
  4469.         ; parameters:
  4470.         ;    paramBlock      => A0
  4471.         ; returns:
  4472.         ;    OSErr           <= D0
  4473.         Macro
  4474.         _PBGetAltAccessSync
  4475.             moveq               #96,D0
  4476.             dc.w                $A060
  4477.         EndM
  4478.     ELSE
  4479.         IMPORT_CFM_FUNCTION PBGetAltAccessSync
  4480.     ENDIF
  4481.  
  4482. ;
  4483. ; pascal OSErr PBGetAltAccessAsync(HParmBlkPtr paramBlock)
  4484. ;
  4485.     IF ¨ GENERATINGCFM THEN
  4486.         ; parameters:
  4487.         ;    paramBlock      => A0
  4488.         ; returns:
  4489.         ;    OSErr           <= D0
  4490.         Macro
  4491.         _PBGetAltAccessAsync
  4492.             moveq               #96,D0
  4493.             dc.w                $A460
  4494.         EndM
  4495.     ELSE
  4496.         IMPORT_CFM_FUNCTION PBGetAltAccessAsync
  4497.     ENDIF
  4498.  
  4499. ;
  4500. ; pascal OSErr PBSetAltAccessSync(HParmBlkPtr paramBlock)
  4501. ;
  4502.     IF ¨ GENERATINGCFM THEN
  4503.         ; parameters:
  4504.         ;    paramBlock      => A0
  4505.         ; returns:
  4506.         ;    OSErr           <= D0
  4507.         Macro
  4508.         _PBSetAltAccessSync
  4509.             moveq               #97,D0
  4510.             dc.w                $A060
  4511.         EndM
  4512.     ELSE
  4513.         IMPORT_CFM_FUNCTION PBSetAltAccessSync
  4514.     ENDIF
  4515.  
  4516. ;
  4517. ; pascal OSErr PBSetAltAccessAsync(HParmBlkPtr paramBlock)
  4518. ;
  4519.     IF ¨ GENERATINGCFM THEN
  4520.         ; parameters:
  4521.         ;    paramBlock      => A0
  4522.         ; returns:
  4523.         ;    OSErr           <= D0
  4524.         Macro
  4525.         _PBSetAltAccessAsync
  4526.             moveq               #97,D0
  4527.             dc.w                $A460
  4528.         EndM
  4529.     ELSE
  4530.         IMPORT_CFM_FUNCTION PBSetAltAccessAsync
  4531.     ENDIF
  4532.  
  4533.     ENDIF
  4534.     IF OLDROUTINENAMES THEN
  4535. ;
  4536. ;    The PBxxx() routines are obsolete.  
  4537. ;    
  4538. ;    Use the PBxxxSync() or PBxxxAsync() version instead.
  4539. ;
  4540.     IF OLDROUTINELOCATIONS THEN
  4541.     ENDIF
  4542.     ENDIF
  4543.     ENDIF
  4544.     ENDIF ; __FILES__ 
  4545.  
  4546.